std、Qstd

特定の言語標準に準拠するようにコンパイラーに指示します。

構文

Linux*:

-std=val

Windows*:

/Qstd:val

/std:val (Microsoft* との互換性用)

引数

val

準拠する特定の言語標準を指定します。

次の値は -std (Linux*) と /Qstd (Windows*) に適用されます。

c++2b

ISO C++ 2023 DIS 標準の作業草案のサポートを有効にします。

c++20

2020 ISO C++ DIS 標準のサポートを有効にします。

c++17

2017 ISO C++ 標準 (修正を含む) のサポートを有効にします。

c++14

2014 ISO C++ 標準 (修正を含む) のサポートを有効にします。

c++11

2011 ISO C++ 標準 (修正を含む) のサポートを有効にします。

c++98 および c++03

1998 ISO C++ 標準 (修正を含む) のサポートを有効にします。

c2x

ISO C2x 標準の作業草案のサポートを有効にします。

c18 および c17

2017 ISO C 標準のサポートを有効にします。

c17 サポートは、値 iso9899:2017 で有効になります。

c18 サポートは、値 iso9899:2018 で有効になります。

c11

2011 ISO C 標準のサポートを有効にします。

値 iso9899:2011 でもサポートが有効になります。

c99

1999 ISO C 標準のサポートを有効にします。

値 iso9899:1999 でもサポートが有効になります。

c90 および c89

1990 ISO C 標準のサポートを有効にします。

値 iso9899:1990 でもサポートが有効になります。

次の値は -std (Linux*) のみに適用されます。

gnu++2b

ISO C++ 2023 DIS 標準の作業草案と GNU* 拡張のサポートを有効にします。

gnu++20

2020 ISO C++ DIS 標準と GNU* 拡張のサポートを有効にします。

gnu++17

2017 ISO C++ 標準 (修正を含む) と GNU* 拡張のサポートを有効にします。

gnu++14

2014 ISO C++ 標準 (修正を含む) と GNU* 拡張のサポートを有効にします。

gnu++11

2011 ISO C++ 標準 (修正を含む) と GNU* 拡張のサポートを有効にします。

gnu++98 および gnu++03

1998 ISO C++ 標準 (修正を含む) と GNU* 拡張のサポートを有効にします。

gnu2x

ISO C2x 標準の作業草案と GNU* 拡張のサポートを有効にします。

gnu18 および gnu17

2017 ISO C 標準と GNU* 拡張のサポートを有効にします。

gnu11

2011 ISO C 標準と GNU* 拡張のサポートを有効にします。

gnu99

1999 ISO C 標準と GNU* 拡張のサポートを有効にします。

gnu90 および gnu89

1990 ISO C 標準と GNU* 拡張のサポートを有効にします。

Microsoft* 互換の /std (Windows*) で設定可能な値は、Microsoft* のドキュメントを参照してください。

デフォルト

/Qstd (Windows*) のデフォルト:
オフ

コンパイラーは特定の言語標準に準拠しません。

/std (Windows*) のデフォルト:
c++14

現在、コンパイラーは 2014 ISO C++ 標準に準拠しています。最新の情報は、Microsoft* のドキュメントを参照してください。

dpcpp での -std (Linux*) のデフォルト:
c++17

コンパイラーは 2017 ISO C++ 標準に準拠します。

icx での -std (Linux*) のデフォルト:
c++14

コンパイラーは 2014 ISO C++ 標準に準拠します。

説明

このオプションは、特定の言語標準に準拠するようにコンパイラーに指示します。

IDE オプション

Visual Studio*: [Language] > [C/C++ Language Support]

Eclipse*: [Language] > [ANSI Conformance]

代替オプション

なし