C++

お手軽(?)かつ合法的にプログラムからglogの挙動を制御する

C++

google-glogは便利なロギングライブラリです。便利なんですが、困った事に、ドキュメントを見る限りだとコマンドライン引数からしか挙動を制御する事ができません。例えばログの出力先を指定したい場合は、-log_dirというオプションを渡して起動する必要があ…

g++ 4.2.3のバグ?std::mapやstd::pairをメンバ関数のデフォルト引数に書くと怒られる件

C++

http://groups.google.co.jp/group/gnu.g++.bug/browse_thread/thread/09f52263bb8562a6 これと同じ。 #include <iostream> #include <map> using namespace std; void f(const map<int, int>& m = map<int, int>()) { } class A { public: A(const map<int, int>& m = map<int, int>()) {} void f(const map<int, int>& m = map</int,></int,></int,></int,></int,></map></iostream>…

gtest: SetUpTestCase, TearDownTestCase

gtestではテストケース毎に、テストケース全体で共有するリソースを初期化(確保)・解放する仕組みを提供している*1。これは、SetUpTestCaseとTearDownTestCaseを使用することで実現できる。 サンプルコード class TestCase : public testing::Test { protect…

こ、これは、ひど…くない

C++

void f(bool b) { ... } vector<bool>* v; // 諸事情でポインタ ... for (...) f(v); // (*v)[i]書き忘れ/(^o^)\テストのおかげですぐ気付けたから良かった…。TDDは偉大。</bool>