[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

GCCとC++0xに関するiwadonのブックマーク (2)

  • gccとclangのC++0xサポートの比較

    C++0xの規格はほぼ固まり、もはや変更されることはない。恐らく、このまま規格制定されるものと思われる。さて、今C++の主要なコンパイラーを上げるとすると、gccとclangをおいて他にはない。MSVCはオモチャだ。右の両コンパイラーは、C++0xの新機能を実装し始めている。もちろん、まだ不完全な実装も多いが、とりあえず遊べる程度には実装できている機能も多いので、比較してみることにする。 gccのC++0xサポート状況は、以下のページに簡易な一覧がある。 C++0x Support in GCC - GNU Project - Free Software Foundation (FSF) clangのC++サポート状況は、以下のページに簡易な一覧がある。 Clang - C++ and C++'0x Status 面白いことに、どちらか片方のコンパイラーでしか実装されていない機能が、結構あ

  • gccにconstexprが実装された

    GCC 4.6に、constexprが実装された。constexprについては、特に難しいことはない。単に、関数やクラスを、コンパイル時定数にできるというだけの話である。ともかく、せっかくなので使ってみる。この機能は、細々と解説するより、実際にコードを示したほうが分かりやすいであろう。 まずは、constexprな変数である。 int main() { constexpr int a = 0 ; // OK int value = 0 ; constexpr int b = value ; // エラー const int c = value ; // OK } constexpr指定された変数は、必ずコンパイル時定数になる。変数の初期化子は、定数式でなければならない。constとの違いは、constはコンパイル時定数でなくてもよいのである。constは、初期化子が定数式の場合、定数式にな

  • 1