C++

おしゃれなCLI Argument Parser、Docopt.cppを使ってみた

C++

GitHub - docopt/docopt.cpp: C++11 port of docoptPythonとかの情報はあるのだがC++はあんまりないので書いとく。Docoptはgetoptやprogram_optionsのようなCLIから実行するときのコマンドやオプションを解析してくれるパーサなのだが、とにかく使い方がエレ…

constのついた引数からconstを取る

C++

constになっちまうのは困るんだろ? こまるぅ!というわけでconst_castですね http://d.hatena.ne.jp/tmatsuu/20090717/1247835994 int fun(const char* bar){ char *foo = const_cast<char*>(bar); }</char*>

ふと思いついたので特定コアに処理を割り当ててみた

C++

スレッド(C#の場合はデリゲート)を使うと、「プログラムは上から順番に実行される」原則が覆され、う ち ゅ う の ほ う そ く が み だ れ る! と思ってしまう。それが初心者クオリティ。参考: http://d.hatena.ne.jp/naoya/20070824/1187945715 http:/…

google test/mock導入

どうもこんにちは。google信者です。アンドロイドほしーい(というキャンペーンはやっておりません 信者なのでいけてるユニットテストライブラリgoogle test(およびgoogle mock)を紹介することにした。C++専用です*1 *2。CppUnitよりは確実にかなり断然記述…

googlemockのつかいかたまとめ

http://src.chromium.org/svn/trunk/src/remoting/client/chromoting_view_unittest.cc ここらへんとかを読み解きながら。基本の書き方 class Hoge{ public: Hoge(){}; ~Hoge(){}; public: int hogeMethod1(int x){ return x;}; }; というクラスがあった時は…

templateのパラメータ引数に制限を設ける

templateはどんな型でも取れちゃうけど取れると困る場合がある。C++0xだとコンセプトっていうのがあるらしいけどC++0xなにそれおいしいの?なので…実行してからじゃないとわからないようなのだとバグを仕込んでいるのと変わりないので、できるだけコンパイル…