<cstddef>ヘッダでは基本的な型、値、マクロを定義する。
本ヘッダはフリースタンディング環境でも提供される。
型
| 名前 | 説明 | 対応バージョン |
|---|---|---|
ptrdiff_t |
ポインタの差演算の結果 | |
size_t |
符号なし整数型 | |
nullptr_t |
nullptrの型 |
C++11 |
max_align_t |
最大のアライメントを要求する型 | C++11 |
byte |
バイトデータを表す型 | C++17 |
関数マクロ
| 名前 | 説明 | 対応バージョン |
|---|---|---|
offsetof |
メンバへのオフセットを返す |
定数
| 名前 | 説明 | 対応バージョン |
|---|---|---|
NULL |
ヌルポインタ定数に展開されるマクロ |
C言語においては、このヘッダはwchar_t型(ワイド文字型)の宣言もインクルードする。C++においてwchar_t型は組み込み型であるため、いかなるヘッダもインクルードする必要がない。
備考
- C23の
<stddef.h>が定義するunreachableマクロは、<cstddef>では定義されない。C++ではstd::unreachable()を使用する - C23の
<stddef.h>が定義するバージョンマクロ__STDC_VERSION_STDDEF_H__は、<cstddef>では意図的に定義されない
参照
- P3348R4 C++26 should refer to C23 not C17
- C++26がC23を参照するようになった際、
<cstddef>ではunreachableマクロおよび__STDC_VERSION_STDDEF_H__を定義しないことが明記された
- C++26がC23を参照するようになった際、