std、Qstd

 

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

IDE オプション

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

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

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

Mac OS X: [Language (言語)] > [C ANSI Conformance (ANSI C 規格に準拠)]

アーキテクチャー

IA-32、インテル® 64、IA-64 アーキテクチャー

構文

Linux および Mac OS X:

-std=val

Windows:

/Qstd=val

引数

val

設定可能な値は以下のとおりです。

c89

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

c99

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

gnu89

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

gnu++98

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

c++0x

次の C++0x 機能のサポートを有効にします。

  • 空のマクロ引数

  • 可変引数マクロ

  • long long

  • enum 定義の最後のカンマ

  • 長さの異なる文字列の連結

  • 拡張 friend 宣言

  • 2 つのテンプレート引数並びを閉じるための ">>" の使用

  • 緩和された "typename" の使用規則

  • "template" キーワードを使用する緩和された一義化規則

  • コピー・コンストラクターは直接参照で呼び出し可能である必要はない

  • 右辺値クラスへのバインド

  • エンティティーのインスタンス化を抑制する "extern template"

  • "auto" 型指定子

  • decltype 演算子

  • static_assert

  • compliant __func__

  • ラムダ式

デフォルト

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

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

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

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

/Qstd=c89

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

説明

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

代替オプション

なし