C++boost::asioにselectやpollはあるのか?The BSD Socket API and Boost.AsioにBSDソケットのAPIとboost::asioのAPIの対比表が載っている。「Note: in conjunction with asynchronous operations.」ということは、BSDのselectやpollに該当するAPIはboost::asioに「あるにはある」。が、async処理の中でboostが自動的に行う、またそのことが推奨されているのだろう。以前に読んだ非同期クライアントや非同期サーバのサンプルを見直したが、pollやpoll_oneはアプリケーション側で呼んではいなかった。boost::asioのasync(非同期)のスレッドモデルBasic Boost.Asio Anatomyの内容をまとめてみた。シングルスレッドのときアプリが
C++ フリーでぷろぐらみんぐ 逆引きリファレンス。 C++のやりたい事から引ける逆引きメモを書いています。 何かコメントなどいただけると嬉しいです! 派生したクラスの基底クラスをvectorに入れたい場合が多々あります。 しかし、標準C++にあるvectorやlistなどには、new したクラスを直接入れられません。 なぜなら、以下のように宣言して使用した場合、 vectorのデストラクタでも new string()したオブジェクトが開放されないからです。 vector<string*> vec; vec.push_back(new string("aiueo")); そうすると、次に考えるのはstd::auto_ptr<string> をvectorに代入する方法です。 vector<auto_ptr<string> > vec; vec.push_back(auto_ptr<str
宿題をひとつ解きますた。 Perl で言うところの /$pattern/g に相当する記述方法はないか? boost::regex_grep() というのはあったらしいが、すでに deprecated 。Predicate とかいうコールバックらしきものの設定が必須な模様で、そういう意味でも使いにくい (Perl の grep 関数を意識してるのかな?)。 boost::regex コンストラクタで std::regex_constants::grep または std::regex_constants::egrep を指定した場合、どうなるか? Perl の tr/.../.../ 相当の記述法も併せて検証する。ふつーに iterator 回せって? まぁそうなんだけどね。 boost::regex_iterator を boost::make_regex_iterator() を用いて生
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く