この記事は、インテル® デベロッパー・ゾーンに公開されている「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/ (英語) を参照してください。