私は深く非同期プログラミングに精通していないと私は質問があります。Boost.asioと非同期チェーン、unique_ptr?
私の質問は次のとおりです。ここではC++ 11のためのecho_server例boost.asioで考える:http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio/example/cpp11/spawn/echo_server.cpp
私は参照のオーバーヘッドを避け、std::make_shared<session>
はC++ 14でstd::unique_ptr<session>
とC++ 14に交換することができるかどうかを知りたいですカウント。
私たちはunique_from_this()
ようshared_from_this()
ではなく、何かを持っているので確認していないので、どのように私はthis
内部からunique_ptr<session>
にアクセスすることができますか?。
オーバーヘッドは、インスタンスあたりの追加メモリの1つのポインタと、共有ptrの作成と削除時の参照カウントのバンプです。それ以外の場合は、通常のポインタとまったく同じです。また、この例ではshared_ptrには複数のものがあるので、どのshared_ptrを参照しているのかは不明です。 – xaxxon
"unique_from_this"の概念は意味をなさない。誰がメモリをクリーンアップしたかという競合条件があるので、単にメモリアドレスへのユニークなポインタを任意に作成することはできません。 – xaxxon