この記事は、インテル® デベロッパー・ゾーンに公開されている「C++ 23 Features Supported by Intel® C++ Compiler」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
以下は、インテル® C++ コンパイラーの各バージョンにおける C++ 2b 機能の対応状況です。
| 言語機能 | 標準化番号 | ICX 2022.2 (インテル® oneAPI 2022.3) |
ICX 2023.2 (インテル® oneAPI 2023.2) |
ICX 2024.0 (インテル® oneAPI 2024.0) |
ICX 2024.1 (インテル® oneAPI 2024.1) |
ICX 2024.2 (インテル® oneAPI 2024.2) |
|---|---|---|---|---|---|---|
| size_t、ssize_t のリテラル・サフィックス uz、z | P0330R8 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| ラムダ式での () の使用条件の緩和 | P1102R2 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| 暗黙的な移動の簡素化 | P2266R1 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| if consteval | P2156R1 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| 属性の重複の許可 | P1401R5 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| 定数式の文脈での bool への縮小変換 | P2223R2 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| 行末のスペースのトリミング | P2223R2 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| 宣言順のレイアウトの義務付け | P1874R4 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| UAX 31 を使用した C++ 識別子構文 | P1949R7 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| エンコーディングが異なる文字列リテラルの連結 | P2201R1 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| this の推論 | P0847R7 (英語) | × | × | × | × | × |
| ラムダの trailing-return-type のスコープの変更 | P2036R3 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| ラムダの trailing-return-type のスコープの変更の移行戦略 | P2579R0 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| 多次元の添字演算子 | P2128R6 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| constexpr 関数の非リテラル変数 (およびラベル、gotos) | P2242R3 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| 診断メッセージの文字エンコーディング | P2246R1 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| 文字セットとエンコーディング | P2314R4 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| 一貫した文字リテラル・エンコーディング | P2316R2 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| ディレクティブ elifdef と elifndef の前処理サポート | P2334R1 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| 初期化文でのエイリアス宣言の許可 | P2360R0 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| auto(x): decay-copy | P0849R8 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| ラムダ式の属性 | P2173R1 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
| <cmath> と <cstdlib> の constexpr | P0533R9 (英語) | × | × | × | 〇 | 〇 |
| 一時オブジェクトへの参照バインディングを検出する型特性 | P2255R2 (英語) | 一部サポート | 一部サポート | 一部サポート | 〇 | 〇 |
| 等式演算子の変更 | P2468R2 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| volatile 複合操作の非推奨化の取り消し | P2327R0 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| #warning のサポート | P2437R1 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| エンコードできないワイド文字リテラルと 1 ワイド文字に収まらないワイド文字リテラルの削除 | P2362R3 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| 複合文の文末のラベル | P2324R2 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| エスケープシーケンスの区切り | P2290R3 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| 名前付きユニバーサル・キャラクターのエスケープ | P2071R2 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| 一部の constexpr 制限 の緩和 | P2448R2 (英語) | × | × | 一部サポート | 一部サポート | 一部サポート |
| 定数式での不明なポインターと参照の使用 | P2280R4 (英語) | × | × | × | × | × |
| static operator() | P1169R4 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| 拡張浮動小数点型と標準名 | P1467R9 (英語) | × | × | × | × | × |
| 継承コンストラクターからのクラス・テンプレート引数の推論 | P2582R1 (英語) | × | × | × | × | × |
| コードの内容をコンパイラーに伝える assume 属性 | P1774R8 (英語) | × | × | × | × | × |
| ソースファイルのエンコーディングとして UTF-8 のサポート | P2295R6 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| char8_t の互換性と移植性の修正 | P2513R3 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| 既存の慣行と一致させる wchar_t 要件の緩和 | P2460R2 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| 明示的な存続期間管理 | P2590R2 (英語) | × | × | × | × | × |
| static operator[] | P2589R1 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| constexpr 関数での static constexpr 変数の許可 (DR) | P2647R1 (英語) | × | 〇 | 〇 | 〇 | 〇 |
| consteval の上方伝播 (DR) | P2564R3 (英語) | × | × | 〇 | 〇 | 〇 |
| Unicode 規格の参照 | P2736R2 (英語) | 〇 | 〇 | 〇 | 〇 | 〇 |
関連記事:
- インテル® C++ コンパイラーでサポートされる C++11 の機能
- インテル® C++ コンパイラーでサポートされる C++14 の機能
- インテル® C++ コンパイラーでサポートされる C++17 の機能
- インテル® C++ コンパイラーでサポートされる C++20 の機能
製品および性能に関する情報
1 性能は、使用状況、構成、その他の要因によって異なります。詳細については、http://www.intel.com/PerformanceIndex/ (英語) を参照してください。

