私はこれをしたい:
MyClass mc = MyClass("Some string" << anotherString);
回答ありがとうございます。少し面倒になったので、あなたが私に言ったことに基づいてこの質問を書き直すことにしました。最終的に、C++ 形式のマクロ / インライン ostringstreamを読み、コンストラクターを使用してこれを行うことは実際には不可能であるため、マクロを使用することにしました。一部の回答は、もはや関連性がありません。
今、私が実際にできることは次のとおりです。
MY_CLASS("Some string" << anotherString << " more string!");
このマクロの使用:
#include <sstream>
#define MY_CLASS(stream) \
MyClass( ( dynamic_cast<std::ostringstream &> ( \
std::ostringstream() . seekp( 0, std::ios_base::cur ) << stream ) \
) . str() )
MyClass コンストラクターが文字列を取る場所:
MyClass::MyClass(string s) { /* ... */ }