そのため、過去数か月間、おそらくそれ以上のコードを生成し、C++文字列ライブラリを使用して文字列を連結しました。そのようです:
template< typename T >
string tostr( const T & val ); // implmented wherever
void somelibraryfunction( const char * );
// begin actual code
somelibraryfunction( ( "foo" + tostr( 5 ) ).c_str( ) );
これはコンパイルされ、正常に動作します。私の懸念は、作成された一時的な文字列が、そのアドレスc_str
が取得された後に破棄されることです。私は、最近解放されたがクリアされていないメモリの読み取りに依存しています。何かご意見は?