1. ホーム
  2. c++

c++ integer->std::string 変換。単純な関数?

2023-10-10 19:29:37

質問

問題:整数があります。この整数をstl::string型に変換する必要があります。

過去に、私は stringstream を使って変換していましたが、これはちょっと面倒です。Cのやり方は sprintf であることは知っていますが、私はむしろタイプセーフなC++のメソッドを使いたいのです。

これを行うためのより良い方法はありますか?

私が過去に使ったことのあるストリングストリームの方法を紹介します。

std::string intToString(int i)
{
    std::stringstream ss;
    std::string s;
    ss << i;
    s = ss.str();

    return s;
}

もちろん、これはこう書き換えることもできる。

template<class T>
std::string t_to_string(T i)
{
    std::stringstream ss;
    std::string s;
    ss << i;
    s = ss.str();

    return s;
}

しかし、これはかなり「ヘビーウェイト」な実装であるという考え方があります。

Zanは、しかし、呼び出しがかなり良いことを指摘しました。

std::string s = t_to_string(my_integer);

とりあえず、もっと素敵な方法なら・・・いいんだけどね。

関連する

整数から文字列に変換するための itoa() の代替 C++?

どのように解決するには?

現在、c++11では

#include <string>
string s = std::to_string(123);

参考文献へのリンクです。 http://en.cppreference.com/w/cpp/string/basic_string/to_string