C++で遊ぼうスマートフォン用の表示で見るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。送受信バッファをメンバ変数に持たないためのイディオムC++Boost.Asioで非同期通信を書いていると、送受信のためのバッファをメンバ変数に持つ必要が出てきて、局所化が難しい場合があります。async_writeにshared_ptrを間接参照したバッファを渡すこのままでは送受信関数のスコープを抜けた時点でshared_ptrが消えてしまう送受信のハンドラにshared_ptrのバッファをbindするio_serviceは内部でハンドラ関数のキューをメンバ変数として管理してるので、bindされたshared_ptrのバッファはハンドラの呼び出しが終了するまで寿命が尽きないつまり、メンバ変数の管理を、部分適用されたハンドラとio_serviceで隠してしまうのです。io_service.run();}このあたりは、ライブラリをもう一段抽象化することでイディオムではなくライブラリの機能にすることができる気がします。Librariesコントリビュータ。boostjp/cpprefjpサイトコアメンバ。くわしい情報は、こちらを参照してください:http://faithandbrave.github.ioお仕事の依頼も受け付けております。Blog|ブログを報告する。