タグ

ブックマーク / melpon.hatenadiary.org (2)

  • C++03 の仕様から変更のあったライブラリ - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

    この記事は C++11 Advent Calendar 13 日目の記事です。 C++03 で用意されていた標準ライブラリは基的にそのまま残っていたり deprecate されていたりとかぐらいしかありませんが、それでも少し仕様が変更されていたりとかしています。 後方互換性を維持するためあまりダイナミックな変更はされていませんが、それでも結構嬉しい変更だったりするので、覚えてる部分だけ紹介しておきます。(誰か一覧とか作ってくれませんかね?) のアルゴリズム関数に渡す関数オブジェクトの制限の緩和 C++03 では、 のアルゴリズム関数(accumulate, inner_product, partial_sum, adjacent_difference)に渡す関数オブジェクトでは、一切の副作用が禁止されていました。そのため、 struct Hoge { int operator()(int

    C++03 の仕様から変更のあったライブラリ - melpon日記 - HaskellもC++もまともに扱えないへたれのページ
    mattn
    mattn 2011/12/13
  • Read-Write Lock - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

    デザインパターン(マルチスレッド)まとめ 書き込みを行っている場合にだけ排他制御を行うパターン。 Boost には read_write_mutex というのがあって、これを使えば Read-Write Lock を実現することがでk……ってバージョン1.34.1 だとドキュメントにはあるのにファイルが無いよ!消えてるよ! どうやら read_write_mutex にバグがあったみたいで、今は消えてしまっているようです。 →追記: バージョン 1.35.0 以降からは boost::shared_mutex というのが用意されているので、それを使えばよさそうです。 ということで実現するためにはちゃんとサンプル通りの read_write_mutex(サンプルでは ReadWriteLock という名前だったのだけれども、namespace と被ってしまったので read_write_mu

    Read-Write Lock - melpon日記 - HaskellもC++もまともに扱えないへたれのページ
  • 1