情報構造論のシメとして、簡単なジェネリック型とかテンプレート型などを 紹介して終わろうかと、Boost や STL の資料を見ていて、C++を使っていても 解らない点がでてくる。 C++11あたりの新しい文法もからむので、改めて C++11の概要をWikipediaで見てみる。 なかなか、Boostなどのライブラリなどを的確に記述できるための文法なんだろうけど、 クラッシックなC++の理解に留まっていると (@_@) である。
興味深い文法があったので試すけど、動かないのであれ?っと思ったけど、 コマンドラインオプションで “-std=c++11″とか指定する必要があるのね。
void foo(int x) { std::cout << "foo(int)" << std::endl ; } void foo(char*p) { std::cout << "foo(char*)" << std::endl ; } int main() { foo(0) ; foo(NULL) ; // 曖昧だからコンパイルエラーだってさ。 foo(nullptr) ; // これが試してみたかった。 return 0 ; }
こういったC++11の文法を使いたかったら、
$ g++ -std=c++11 test.cxx