技術ポータル「iSUS」をリニューアルいたしました!お探しの記事を快適に検索いただくための絞り込み機能 (トピック検索) の使い方はこちら。

インテル® C++ コンパイラーでサポートされる C++23 の機能

インテル® DPC++/C++ コンパイラー

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

関連記事:

  1. インテル® C++ コンパイラーでサポートされる C++11 の機能
  2. インテル® C++ コンパイラーでサポートされる C++14 の機能
  3. インテル® C++ コンパイラーでサポートされる C++17 の機能
  4. インテル® C++ コンパイラーでサポートされる C++20 の機能

製品および性能に関する情報

1 性能は、使用状況、構成、その他の要因によって異なります。詳細については、http://www.intel.com/PerformanceIndex/ (英語) を参照してください。

タイトルとURLをコピーしました