-compat=4 のみの場合、a に次の値の 1 つを指定できます。
a の値 |
意味 |
---|---|
[no%]namespace |
キーワード namespace と using を許可します [しません]。 |
[no%]rtti |
実行時の型識別 (RTTI) を許可します [しません]。 |
-compat=4 と-compat=5 の場合、a は次の 1 つ以上の値をとるものとします。
a の値 |
意味 |
---|---|
[no%]altspell
[no%]arraynew
[no%]anachronisms
[no%]bool
[no%]conststrings
[no%]except
[no%]explicit
[no%]export
[no%]iddollar
[no%]localfor
[no%]mutable |
トークンの代替スペル (たとえば、「&&」の代わりに「and」) を認識します [しません]。
operator new や operator delete の配列形式 (たとえば、 operator new[] (void*)) を認識します [しません]。このオプションが有効な場合は、マクロ _ARRAYNEW=1 が定義されます。無効な場合は定義されません。 廃止されている構文を許可します [しません]。
ブール型とリテラルを許可します [しません]。
リテラル文字列を読み取り専用メモリーに入れます [入れません]。
C++ 例外を許可します [しません]。
キーワード explicit を認識します [しません]。
キーワード export を認識します [しません]。
識別子の最初以外の文字に $ を許可します [しません]。
for 文に対し新しい局所スコープ規則を使用します [しません]。
キーワード mutable を認識します [しません]。 |
[no%]castop は、C++ 4.2 コンパイラ用に作成されたメークファイルとの互換性を維持するために使用できますが、C++ 5.0 コンパイラには影響はありません。新しい書式の型変換 (const_cast、dynamic_cast、reinterpret_cast、static_cast) は常に認識され、無効にすることはできません。
-features=arraynew が有効になっていると、マクロは _ARRAYNEW=1 に定義されます。無効になっている場合は、マクロは定義されません。
-features=bool が有効になっていると、マクロは _BOOL=1 に定義されます。無効になっている場合は、マクロは定義されません。
-features=no%anachronisms が有効になっていると、廃止されている構文は許可されません。
-features=except が無効になっていると、関数の送出指定は受け付けられますが、無視されます。キーワード try、throw、catch は常に予約されています。