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

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

Modern C++ への移動


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

C++17 の機能

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

C++14 の機能

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

C++11 機能

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


関連項目