インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

std、Qstd

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

構文

Linux* および macOS*:

-std=val

Windows*:

/Qstd=val

引数

val

準拠する特定の言語標準を指定します。設定可能な値は以下のとおりです。

c++14

2014 ISO C++ 標準機能のサポートを有効にします。次の機能を利用できます。

  • コンテキスト変換の微調整

  • バイナリーリテラル

  • decltype(auto): 通常の関数の戻り値の型推定

  • 初期化されたラムダ・キャプチャー: simple-capture、init-captur

  • 汎用ラムダ式

  • 可変テンプレート

  • constexpr の拡張

  • 集計用の NSDMI

  • 割り当ての回避/融合

  • [deprecated] 属性

  • サイズ指定された解放

  • 数値区切りとしての一重引用符

c++11

ISO/IEC 9899:2011 国際規格に準拠します。多くの C++11 (旧称: C++0x) 機能のサポートを有効にします。次の機能を利用できます。

  • 移動用の特殊なメンバー関数の定義 (N3053)

  • 明示的な仮想関数オーバーライド (N2928、N3206、N3272)

  • constexpr の完全実装 (Linux* および macOS* でのみ利用可能)

  • 初期化子のリストの完全実装

  • noexcept の完全実装

  • 非スタティック・データ・メンバー (フィールド初期化子) の完全実装

  • Raw 文字列と UTF-8

  • デリゲート・コンストラクター

  • メンバー関数の参照修飾子

  • 追加の型特性ヘルパー (例: __is_nothrow_assignable、__is_trivially_assignable、__is_trivially_constructible、__bases、__direct_bases など)

インテル® C++ コンパイラーで実装済みの C++ 11 機能の一覧は、「インテル® C++ コンパイラーでサポートされる C++11 の機能」(https://www.isus.jp/article/c-compiler/c0x-features-supported-by-intel-c-compiler/?utm_source=rss&utm_medium=rss&utm_campaign=c0x-features-supported-by-intel-c-compiler) を参照してください。

c++0x

c++11 を指定することに相当します。

gnu++0x

c++0x を指定することに相当します。この値は、Linux* および macOS* システムでのみ利用できます。

gnu++98

1998 ISO C++ 規格と GNU* 拡張機能に準拠します。この値は、Linux* および macOS* システムでのみ利用できます。

c11

ISO/IEC 9899:2011 国際規格に準拠します。

c99

ISO/IEC 9899:1999 国際規格に準拠します。

gnu99

ISO C99 と GNU* 拡張機能に準拠します。この値は、Linux* および macOS* システムでのみ利用できます。

c89

ISO/IEC 9899:1990 国際規格に準拠します。この値は、Linux* および macOS* システムでのみ利用できます。

gnu89

ISO C90 と GNU* 拡張機能に準拠します。この値は、Linux* および macOS* システムでのみ利用できます。

デフォルト

-std=gnu89 (C のデフォルト)

ISO C90 と GNU* 拡張機能に準拠します。

-std=gnu++98 (C++ のデフォルト)

1998 ISO C++ 規格と GNU* 拡張機能に準拠します。

/Qstd

オフ。C++11 機能のサブセットは、Microsoft* Visual Studio* C++ の特定のバージョンとの互換性のため、デフォルトで有効に設定されます。そのため、Microsoft* で提供されない追加の C++11 機能を利用する場合のみ、/Qstd=c++0x を指定します。

説明

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

Windows* では、値 c99 および c++0x のみ指定できます。

IDE オプション

Visual Studio*: [Language (言語)] > [Enable C++11 Support (C++11 サポートを有効にする)]

[Language (言語)] > [Enable C99 Support (C99 サポートを有効にする)]

Eclipse*: [Language (言語)] > [ANSI Conformance (ANSI 規格に準拠)]

Xcode*: [Language (言語)] > [C Language Dialect and C++ Language Dialect (C/C++ 言語方言)]

代替オプション

なし