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