最終更新日時(UTC):
が更新

履歴 編集

静的な診断メッセージの文字エンコーディング(C++23)

概要

C++23では、コンパイル時に診断メッセージを出力させる以下の機能について、ソースコードのエンコーディングが実行環境のエンコーディングで表現できない場合にどうするかの規定を見直す:

  • static_assert
  • [[deprecated]]
  • [[nodiscard]]
  • #error

C++20までは、「基本ソース文字集合に含まれない文字は出力する必要はない」という規定になっていたが、基本ソース文字集合と実行環境のエンコーディングは関係ないものであるため、この規定を削除することとした。

この規定はC20でも導入され、C++もそれに追従することとした。

参照