Angular, Blockchain, Science とか

Angular, Blockchain, Science全般 の情報を主に書いていきます。

g++ で C++11, 14, 17 を利用する方法。

なんかオプションが必要みたいです。
なおここで述べるのは
  gcc
  g++
の2つです

C++11の機能を有効にする

  GCC 4.3から4.6までは、-std=c++0xオプションを使用する。
    GNU拡張を有効にする-std=gnu++0xオプションもある。
  GCC 4.7以降は、-std=c++11オプションを使用する(旧オプションは非推奨)。
    GNU拡張を有効にする-std=gnu++11オプションもある。

C++14の機能を有効にする

  GCC 4.8から4.9までは、-std=c++1yオプションを使用する。
    GNU拡張を有効にする-std=gnu++1yオプションもある。
  GCC 5.1以降は、-std=c++14オプションを使用する(旧オプションは非推奨)。
    GNU拡張を有効にする-std=gnu++14オプションもある。
  GCC 6.1以降は、C++14がデフォルトとなる。デフォルトバージョンのコンパイルオプションは-std=gnu++14

C++17の機能を有効にする

  GCC 6.1以降は、-std=c++1zオプションを使用する。
    GNU拡張を有効にする-std=gnu++1zオプションもある。

結局のところ

g++ -std=c++1z sample.cpp

でOKなはず。多分。