インテル® C++ コンパイラー 14.0 ユーザー・リファレンス・ガイド

std、Qstd

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

構文

Linux* および OS X*:

-std=val

Windows*:

/Qstd=val

引数

val

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

c89

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

c99

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

c9x

c99 を指定することに相当します。この値は、Linux* および OS X* でのみ利用できます。

gnu89

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

gnu99

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

gnu++98

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

c++11

多くの C++11 (旧称: C++0x) 機能のサポートを有効にします。新たに追加された機能は次のとおりです。

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

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

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

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

  • 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* および OS X* でのみ利用できます。

デフォルト

-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 オプション

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

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

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

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

代替オプション

なし


このヘルプトピックについてのフィードバックを送信