C++

続)メンバー関数テンプレートの特殊化

C++

結局main側のインタフェースを変えずにどう実装するかに着目した結果こうなった。 #include #include #include // Widgetのfooから呼ばれる関数オブジェクトを作る template struct widget_foo { T operator ()(int i) { T tmp; std::stringstream ss; ss ss…

gccでcppファイルをコンパイルする時。

C++

ちょっと調べものしてたらgccでC++コンパイルする際に以下のコマンドでコンパイルしてる人が多かったので。 gcc -Wall main.cpp でもこれは間違い。正しくはこう gcc -Wall main.cpp -lstdc++ または g++ -Wall main.cpp こうしないとstl使ってるコードはリ…

突然クラスのテンプレートメンバー関数の特殊化ができるか気になった

C++

のでこんなコードをVC 2008 Express Editionでコンパイルしてみた。 #include #include #include class Widget { public: template T foo(int i) { T tmp; std::stringstream ss; ss ss >> tmp; return tmp; } template <> int foo(int i) { return ++i; } }…

今日ちょっと会社の人にboostのlambdaのコードを見せて何をしてるコードかわかる?って聞いた見た。

C++

こんなの。 using namespace boost::lambda;std::vector v; v.push_back(7); v.push_back(6); v.push_back(5); v.push_back(4); v.push_back(3); v.push_back(2); v.push_back(1);std::cout ちなみに出力結果は以下 4 結果、わかると答えた人は1名。 その人…