Boostに挑戦
»
メンバー達の間ではずっと流行っているBoostをそろそろちゃんと使ってみようと挑戦してみています。
Boostのような高機能ライブラリは、
どうしてもスコープが深くなってしまうので、例えば待ち受けソケットをaccept()するコードはこんな感じになるようです。
acceptor.async_accept(one_service->socket(),boost::bind(&Server::on_accept,this,one_service,boost::asio::placeholders::error));
スコープ解決演算子である::が沢山続いて大変読みにくくなります。
そのためにusingディレクティブがあるのですが、
メンバーはなるべくusingを使わないようにコードを書いているような感じで、とても横長のコードになってしまいます。
きっとライブラリのどの機能を使っているか、
あとから読んだときに明瞭になるように意図しているのだと思いますが、
そんなことはマニュアル読めばいいのですし、できるだけすっきりしたほうがやらないといけないことに集中できると思うのですがね・・・
ということで、しばらく楽しめそうな感じです。
SpecialPR