<cstddef>
包含 C 标准库标头 <stddef.h> 并将关联的名称添加到 std
命名空间。 包含此标头可确保使用 C 标准库标头中的外部链接声明的名称已在 std
命名空间中声明。
注意
<cstddef> 包括类型 byte,不包括类型 wchar_t
。
语法
#include <cstddef>
命名空间和宏
namespace std {
using ptrdiff_t = see definition;
using size_t = see definition;
using max_align_t = see definition;
using nullptr_t = decltype(nullptr);
}
#define NULL // an implementation-defined null pointer constant
#define offsetof(type, member-designator)
参数
ptrdiff_t
实现定义的带符号整数类型,可以保存数组对象中两个下标的差值。
size_t
实现定义的无符号整数类型,足以包含任何对象的大小(以字节为单位)。
max_align_t
一种 POD 类型,其对齐要求至少与每个标量类型一样大,并且其对齐要求在每个上下文中都受支持。
nullptr_t
nullptr
表达式类型的同义词。 虽然无法采用 nullptr
地址,但可以采用另一个 nullptr_t 对象(即 lvalue)的地址。
byte 类
enum class byte : unsigned char {};
template <class IntType>
constexpr byte& operator<<=(byte& b, IntType shift) noexcept;
constexpr byte operator<<(byte b, IntType shift) noexcept;
constexpr byte& operator>>=(byte& b, IntType shift) noexcept;
constexpr byte operator>>(byte b, IntType shift) noexcept;
constexpr byte& operator|=(byte& left, byte right) noexcept;
constexpr byte operator|(byte left, byte right) noexcept;
constexpr byte& operator&=(byte& left, byte right) noexcept;
constexpr byte operator&(byte left, byte right) noexcept;
constexpr byte& operator^=(byte& left, byte right) noexcept;
constexpr byte operator^(byte left, byte right) noexcept;
constexpr byte operator~(byte b) noexcept;
template <class IntType>
IntType to_integer(byte b) noexcept;