最終更新日時(UTC): 2025年07月10日 01時26分30秒
Koichi Murase が更新

履歴 編集

# C99互換で導入された定義済みマクロ(C++11)

このページはC++11に採用された言語機能の変更を解説しています。

のちのC++規格でさらに変更される場合があるため関連項目を参照してください。

## 概要

定義済みマクロの値が、以下のように更新された：

マクロ名 | 説明
--- | ---
`__STDC_HOSTED__` | 実装がホスト実装である場合は`1`、そうでない場合（つまり、フリースタンディング実装である場合）は`0`として定義される
`__STDC_VERSION__` | 標準Cのバージョンを表す値（C95 では `199409L`、C99 では `199901L`、C11 では `201112L`、C90 では定義されていない）。 このマクロが定義されているか否か、および、定義されている場合の値は実装依存である。
`__STDC_ISO_10646__` | `wchar_t`の文字が、Unicodeの規格であるISO/IEC 10646の、yyyymm年の仕様を満たしている場合に定義される。 このマクロの値は、`yyyymmL`の形式の整数値として定義される。yは年、mは月を表す。yとmそれぞれの個数は、桁数を表す。

## 関連項目

- C++11 更新された定義済みマクロ

## 参照

- N1653 Working draft changes for C99 preprocessor synchronization
- CWG Issue 630. Equality of narrow and wide character values in the basic character set