Поделиться через


<cstddef>

Включает заголовок стандартной <библиотеки C stddef.h> и добавляет связанные имена в std пространство имен. В том числе этот заголовок гарантирует, что имена, объявленные с помощью внешней компоновки в заголовке стандартной библиотеки C, объявляются в std пространстве имен.

Примечание.

<cstddef> включает байт типа и не включает тип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.

Класс байтов

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