Шаг 80.
Библиотека STL. Вспомогательные средства. Заголовочные файлы <stddef> и <cstdlib>. Определения <stddef>

    На этом шаге мы перечислим определения, находящиеся в <stddef>.

    В программах C++ часто используются два заголовочных файла, совместимых с С: <cstddef> и <cstdlib>. Они представляют собой обновленные версии заголовочных файлов <stddef.h> и <stdlib.h> языка С и содержат определения некоторых распространенных констант, макросов, типов и функций.

Определения <cstddef>

    В таблице 1 перечислены определения из заголовочного файла <cstddef>. Определение NULL часто используется для обозначения указателя, ссылающегося иа "ничто". Оно соответствует значению 0 (в виде типа int или long). В языке С значение NULL часто определяется как (void*)0, но в С++ такое определение неверно - тип NULL должен быть целочисленным, иначе присваивание указателю NULL станет невозможным. Дело в том, что в C++ не существует автоматического преобразования void* в любой другой тип. Учтите, что NULL также определяется в заголовочных файлах <cstdio>, <cstdlib>, <cstring>, <ctime>, <cwchar> и <clocale>.

Таблица 1. Определения <cstddef>
Идентификатор Описание
NULL "Неопределенное" значение указателя
size_t Беззнаковый тип для обозначения размеров (например, количества элементов)
ptrdiff_t Знаковый тип для разности указателей
offsetof() Смещение члена структуры или объединения

    На следующем шаге мы рассмотрим определения <cstdlib>.




Предыдущий шаг Содержание Следующий шаг