タグ

ブックマーク / clown.cube-soft.jp (2)

  • ディレクトリ内に存在するファイル数の取得方法の比較 - Cube Lilac

    あるディレクトリ内のファイル(+ディレクトリ)数を取得する必要があったのですが,Boost.Filesystem と FindFirstFile とでどの程度の速度差になるのかなと思い調べてみました.まず,Boost.Filesystem 版のファイル数カウント関数. #include <string> #include <boost/filesystem.hpp> std::size_t file_count_boost(const boost::filesystem::path& root) { namespace fs = boost::filesystem; if (!fs::exists(root) || !fs::is_directory(root)) return 0; std::size_t result = 0; fs::directory_iterator last;

    ディレクトリ内に存在するファイル数の取得方法の比較 - Cube Lilac
  • コンストラクタ,デストラクタでの例外処理 - Cube Lilac

    この記事は,C++プログラマであるかを見分ける10の質問 - Life like a clown の「コンストラクタ,デストラクタにおける例外処理についての戦略を述べよ」に対する回答的な記事になります.例外処理は通常においてもなかなか難しい処理の一つですが,コンストラクタ,デストラクタにおける例外処理をどうするかは,さらに頭を悩ませる問題となります. コンストラクタ コンストラクタにおいて例外を発生させる場合にはデストラクタが実行されないため,気をつける事は「(デストラクタで行われるはずであった)各種リソースの開放を例外を送出する前にきちんとを行う」になります.コンストラクタで例外を発生させるべきではない派の主張の論拠も大体ここに起因するようです. 比較的有名なサイトで「コンストラクタからの例外送出」が「禁じ手」として紹介されていることもあり、また、最近ではその内容を再編集した書籍が出版さ

    コンストラクタ,デストラクタでの例外処理 - Cube Lilac
    Cryolite
    Cryolite 2011/03/23
  • 1