C++でのtostring関数の使い方は何ですか?
C++には組み込みのtostring関数は存在しませんが、カスタム関数やクラスのメンバー関数を使用して同様の機能を実現することができます。オブジェクトを文字列に変換するためによく使用される実装方法は、ストリーム挿入演算子<<をオーバーロードすることです。例えば:
#include <iostream>
#include <string>
class MyClass {
public:
int num;
MyClass(int n) : num(n) {}
friend std::ostream& operator<<(std::ostream& os, const MyClass& obj) {
os << "MyClass: " << obj.num;
return os;
}
};
int main() {
MyClass obj(10);
std::string str = obj.toString(); // 调用重载的<<运算符
std::cout << str << std::endl;
return 0;
}
上記のコードでは、MyClassクラスが<<演算子をオーバーロードしており、オブジェクトobjがstd::coutに渡されると、<<演算子が呼び出され、オブジェクトが文字列に変換されて出力されます。