C++ 11 を使用せずに、複数のプラットフォームとコンパイラでブースト 1.51 を使用しています。
私のメインスレッドには、std::string veryLongString処理のために新しいスレッドに渡す必要がある非常に長く、コピーにコストがかかる があります。
新しいスレッドが作成された後、メイン スレッドを使用する必要がなくなったので、それをctor に移動veryLongStringしたいと思います。
メイン スレッド、または のスコープは、新しいスレッドが完了する前に終了する可能性があるため、参照渡し (たとえば、 を使用) はオプションではありません。boost::threadveryLongStringboost::ref
明らかに、veryLongStringとして作成された場合、 をスレッド ctor にshared_ptr<std::string>コピーできますが、そうではなかったので、とにかくコピーする必要があります。shared_ptr
[boost::]move() veryLongStringctor にアクセスするにはどうすればよいですかboost::thread(おそらく via を使用boost::bind)。これは可能ですか?