На этом шаге мы перечислим определения, находящиеся в <stddef>.
В программах C++ часто используются два заголовочных файла, совместимых с С: <cstddef> и <cstdlib>. Они представляют собой обновленные версии заголовочных файлов <stddef.h> и <stdlib.h> языка С и содержат определения некоторых распространенных констант, макросов, типов и функций.
В таблице 1 перечислены определения из заголовочного файла <cstddef>. Определение NULL часто используется для обозначения указателя, ссылающегося иа "ничто". Оно соответствует значению 0 (в виде типа int или long). В языке С значение NULL часто определяется как (void*)0, но в С++ такое определение неверно - тип NULL должен быть целочисленным, иначе присваивание указателю NULL станет невозможным. Дело в том, что в C++ не существует автоматического преобразования void* в любой другой тип. Учтите, что NULL также определяется в заголовочных файлах <cstdio>, <cstdlib>, <cstring>, <ctime>, <cwchar> и <clocale>.
Идентификатор | Описание |
---|---|
NULL | "Неопределенное" значение указателя |
size_t | Беззнаковый тип для обозначения размеров (например, количества элементов) |
ptrdiff_t | Знаковый тип для разности указателей |
offsetof() | Смещение члена структуры или объединения |
На следующем шаге мы рассмотрим определения <cstdlib>.