<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;

另请参阅

头文件引用
C++ 标准库概述
C++ 标准库中的线程安全