Книга: Системное программирование в среде Windows

Типы данных, соответствующие точности указателей

Типы данных, соответствующие точности указателей

Процитируем выдержку из статьи Microsoft под названием "The New Data Types" (доступна на Web-сайте компании Microsoft): "Точность этих типов данных отражает изменение точности указателей (то есть, они становятся 32-битовыми в коде Win32 и 64-битовыми в коде Win64). Поэтому приведение указателей к одному из этих типов при выполнении арифметических операций с указателями является безопасным; при 64-битовой точности указателей размер данных этого типа будет составлять 64 бита. Также и типы данных, соответствующие счетчикам, отражают максимальный размер данных, на которые может ссылаться указатель." Таким образом, эти типы данных обеспечивают автоматическое изменение размеров целочисленных типов данных в зависимости от изменения размеров указателей, в связи с чем их иногда называют полиморфными (polymorphic data types) или платформо-масштабируемыми (platform scaled data types) типами данных. Типы данных, соответствующие точности указателей, перечислены в табл. 16.2, взятой из той же статьи.

Наиболее важным из них является тип данных SIZE_T, который уже использовался нами при описании размеров блоков памяти в главе 5.

Наконец, заметьте, что в Win64 размер данных типа HANDLE составляет 64 бита.

Таблица 16.2. Типы данных, соответствующие точности указателей

Тип данных Описание
DWORD_PTR Длинное целое без знака, соответствующее точности указателей.
HALF_PTR Половина размера указателя. Используется в структурах, содержащих указатель и два поля небольшого размера.
INT_PTR Целое со знаком, соответствующее точности указателей.
LONG_PTR Длинное целое со знаком, соответствующее точности указателей.
SIZE_T Максимальное количество байтов, на которые может ссылаться указатель. Используется для счетчиков, которые должны охватывать весь диапазон возможных значений указателей.
SSIZE_T Тип SIZE_T со знаком.
UHALF_PTR Тип HALF_PTR без знака.
UINT_PTR Тип INT_PTR без знака.
ULONG_PTR Тип LONG_PTR без знака.

Оглавление книги


Генерация: 1.455. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз