Modern C++ 言語機能の準拠状況

提供: RAD Studio
移動先: 案内検索

Modern C++ への移動


以下は、RAD Studio C++ コンパイラでサポートされる Modern C++ 機能の一覧です。

C++17 の機能

機能 C++17 提案書 BCC32C/X BCC64
ダイレクト リスト初期化のための新しい自動ルール N3922
Allowed.png
Allowed.png
メッセージなしの static_assert N3928
Allowed.png
Allowed.png
テンプレート テンプレート パラメータでの typename N4051
Allowed.png
Allowed.png
トライグラフの削除 N4086
Allowed.png
Allowed.png
入れ子ネームスペース定義 N4230
Allowed.png
Allowed.png
ネームスペースと列挙型のための属性 N4266
Allowed.png
Allowed.png
u8 文字リテラル N4267
Allowed.png
Allowed.png
すべての非型テンプレート引数に対して定数評価を可能にする N4268
Allowed.png
Allowed.png
折り畳み式 N4295
Allowed.png
Allowed.png
登録キーワードの非推奨使用の削除 P0001R1
Allowed.png
Allowed.png
非推奨演算子 ++(bool) P0002R1
Allowed.png
Allowed.png
C++17 からの非推奨例外仕様 P0003R5
Allowed.png
Allowed.png
例外仕様を型システムの一部にする P0012R1
Allowed.png
Allowed.png
基本クラスを持つクラスの集約初期化 P0017R1
Allowed.png
Allowed.png
*this のラムダ キャプチャ P0018R3
Allowed.png
Allowed.png
繰り返しなしの属性ネームスペースの使用 P0028R4
Allowed.png
Allowed.png
オーバー アラインされたデータの動的メモリ割り当て P0035R4
Allowed.png
Allowed.png
単項 fold 式と空のパラメータ パック P0036R0
Allowed.png
Allowed.png
プリプロセッサ条件での __has_include P0061R1
Allowed.png
Allowed.png
クラス テンプレートのテンプレート引数の軽減 P0091R3
Allowed.png
Allowed.png
auto 型での非型テンプレート パラメータ P0127R2
Allowed.png
Allowed.png
コピー省略の保証 P0135R1
Allowed.png
Allowed.png
コンストラクタ継承の新しい仕様(DR1941 など) P0136R1
Allowed.png
Allowed.png
参照メンバーを持つクラス オブジェクトの置換 P0137R1
列挙型の直接リスト初期化 P0138R2
Allowed.png
Allowed.png
より厳しい式の評価順序 P0145R3
Allowed.png
Allowed.png
constexpr ラムダ式 P0170R1
Allowed.png
Allowed.png
範囲ベース付きの for での begin および end の型の違い P0184R0
Allowed.png
Allowed.png
[[fallthrough]] 属性 P0188R1
Allowed.png
Allowed.png
[[nodiscard]] 属性 P0189R1
Allowed.png
Allowed.png
using-declarations のパック拡張 P0195R2
Allowed.png
Allowed.png
[[maybe_unused]] 属性 P0212R1
Allowed.png
Allowed.png
構造型バインディング P0217R3
Allowed.png
Allowed.png
16 進数の浮動小数点リテラル P0245R1
Allowed.png
Allowed.png
不明な属性の無視 P0283R2
Allowed.png
Allowed.png
constexpr if 文 P0292R2
Allowed.png
Allowed.png
if および switch のための初期化文 P0305R1
Allowed.png
Allowed.png
インライン変数 P0386R2
Allowed.png
Allowed.png
DR: DR: テンプレート テンプレート引数のマッチングが互換性のあるテンプレートを除外する P0522R0
Allowed.png
Allowed.png
std::uncaught_exceptions() N4259
Allowed.png
Allowed.png
std::pair と std::tuple の向上 N4387
Allowed.png
Allowed.png
std::any P0220R1
Allowed.png
Allowed.png
std::variant P0088R3
Allowed.png
Allowed.png
std::optional P0220R1
Allowed.png
Allowed.png
std::shared_mutex (タイムアウトなし) N4508
Allowed.png
Allowed.png
std::string_view N3921
Allowed.png
Allowed.png
Parallelism TS の標準化 P0024R2
基本的な文字列変換 P0067R5
数学の特殊関数 P0226R1
Allowed.png
Allowed.png
map と set のスプライシング P0083R3
ハードウェア干渉サイズ P0154R1
std::filesystem P0218R1
Allowed.png
Allowed.png
std::byte P0298R3
Allowed.png
Allowed.png

C++14 の機能

機能 C++14 提案書 BCC32C/X BCC64
文脈変換の微妙な表現 N3323
Allowed.png
Allowed.png
バイナリ リテラル N3472
Allowed.png
Allowed.png
decltype(auto)、通常関数に対する戻り値型の軽減 N3638
Allowed.png
Allowed.png
初期化/汎用化ラムダ キャプチャ(初期化キャプチャ) N3648
Allowed.png
Allowed.png
汎用(多態)ラムダ式 N3649
Allowed.png
Allowed.png
変数テンプレート N3651
Allowed.png
Allowed.png
拡張 constexpr N3652
Allowed.png
Allowed.png
メンバー初期化子と集約 (NSDMI) N3653
Allowed.png
Allowed.png
メモリ割り当ての明確化(割り当ての回避/融合) N3664
Allowed.png
Allowed.png
[[deprecated]] 属性 N3760
Allowed.png
Allowed.png
サイズ付き割り当て解放 N3768
Allowed.png
Allowed.png
数値区切りとしての単一引用符 N3781
Allowed.png
Allowed.png
std::result_of と SFINAE N3462
Allowed.png
Allowed.png
<complex> の constexpr N3302
Allowed.png
Allowed.png
<chrono> の constexpr N3469
Allowed.png
Allowed.png
<array> の constexpr N3470
Allowed.png
Allowed.png
<initializer_list>、<utility>、<tuple> の constexpr N3471
Allowed.png
Allowed.png
改善された std::integral_constant N3545
Allowed.png
Allowed.png
<chrono> と <string> のユーザー定義リテラル N3642
Allowed.png
Allowed.png
Null の前方イテレータ N3644
Allowed.png
Allowed.png
std::quoted N3654
Allowed.png
Allowed.png
異種混合ルックアップ N3657
Allowed.png
Allowed.png
std::integer_sequence N3658
Allowed.png
Allowed.png
std::shared_timed_mutex N3659
Allowed.png
Allowed.png
std::exchange N3668
Allowed.png
Allowed.png
const なしでの constexpr メンバー関数の固定 N3669
Allowed.png
Allowed.png
std::get<T>() N3670
Allowed.png
Allowed.png
2重範囲の std::equal、std::is_permutation、std::mismatch N3671
Allowed.png
Allowed.png

C++11 機能

機能 C++11 提案書
BCC32C/X BCC32 BCC64 BCCOSX BCCIOSARM BCCIOSARM64 BCCAARM
右辺値参照 N2118
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
    *this の右辺値参照 N2439
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
右辺値によるクラス オブジェクトの初期化 N1610
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
非静的データ メンバ初期化子 N2756
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
可変個引数テンプレート N2242
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
    可変個引数テンプレートのテンプレート パラメータの拡張 N2555
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
初期化リスト N2672
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
静的アサーション N1720
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
auto 型変数 N1984
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
    多重宣言子 auto N1737
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
    記憶クラス指定子としての auto の削除 N2546
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
    関数宣言子の新しい構文 N2541
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
ラムダ式 N2927
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
式の宣言された型 N2343
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
    不完全な戻り値型 N3276
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
右山かっこ N1757
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
関数テンプレートのデフォルト テンプレート引数 DR226
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
式の SFINAE 問題の解決 DR339
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
エイリアス テンプレート N2258
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
extern テンプレート N1987
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
null ポインタ定数 N2431
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
厳密に型指定された列挙型 N2347
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
列挙型の前方宣言 N2764
DR1206
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
標準属性の構文 N2761
Allowed.png
一般化された定数式 N2235
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
アラインメント サポート N2341
Allowed.png
条件付きサポート動作 N1627
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
未定義の動作を診断可能なエラーに変換 N1727
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
委譲コンストラクタ N1986
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
コンストラクタの継承 N2540
Allowed.png
明示的な変換演算子 N2437
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
新しい文字型 N2249
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Unicode 文字列リテラル N2442
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
生の文字列リテラル N2442
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
リテラル内の汎用文字名 N2170
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
ユーザー定義リテラル N2765
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
標準レイアウト型 N2342
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
デフォルト定義関数 N2346
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
削除済み関数 N2346
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
拡張フレンド宣言 N1791
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
sizeof の拡張 N2253
DR850
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
インライン名前空間 N2535
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
無制限共用体 N2544
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
テンプレート引数としてのローカル型および無名型 N2657
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
範囲ベースの for N2930
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
明示的な仮想オーバーライド N2928
N3206
N3272
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
ガベージ コレクションと到達可能性ベースのリーク検出の最低限サポート N2670
移動コンストラクタで例外を送出可能 [noexcept] N3050
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
移動用の特殊なメンバ関数の定義 N3053
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
同時実行
シーケンス ポイント N2239
Allowed.png
アトミック操作 N2427
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
厳密な比較および交換 N2748
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
双方向フェンス N2752
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
メモリ モデル N2429
Allowed.png
データ依存関係の順序付け: アトミック操作とメモリ モデル N2664
Allowed.png
例外の伝播 N2179
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
シグナル ハンドラでアトミック操作を使用可能 N2547
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
スレッドローカル記憶域 N2659
Allowed.png
同時実行を考慮した動的初期化と破棄 N2660
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
C++11 に含まれている C99 機能
定義済み識別子 __func__ N2340
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
C99 プリプロセッサ N1653
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
long long N1811
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png
拡張整数型 N1988
Allowed.png
Allowed.png
Allowed.png
Allowed.png
Allowed.png


関連項目