Пространства имён
Варианты
Действия

Поддержка типов (basic types, RTTI, type traits)

Материал из cppreference.com
< cpp


 
 
 
Поддержка типов
Основные типы
Оригинал:
Basic types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Основные типы
Исправлены типы целых ширину (C++11)
Числовые пределы
Оригинал:
Numeric limits
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
numeric_limits
С числовым ограничивает интерфейс
Время тип информации
Оригинал:
Runtime type information
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Тип черты
Оригинал:
Type traits
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Первичные категории типа
Оригинал:
Primary type categories
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
is_void(C++11)
is_array(C++11)
is_pointer(C++11)
is_enum(C++11)
is_union(C++11)
is_class(C++11)
is_function(C++11)
is_object(C++11)
is_scalar(C++11)
is_compound(C++11)
is_integral(C++11)
is_floating_point(C++11)
is_fundamental(C++11)
is_arithmetic(C++11)
is_reference(C++11)
is_lvalue_reference(C++11)
is_rvalue_reference(C++11)
is_member_pointer(C++11)
is_member_object_pointer(C++11)
is_member_function_pointer(C++11)
Тип свойства
Оригинал:
Type properties
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
is_const(C++11)
is_volatile(C++11)
is_pod(C++11)
is_empty(C++11)
is_polymorphic(C++11)
is_abstract(C++11)
Поддерживаемые операции
Оригинал:
Supported operations
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
is_constructible
is_trivially_constructible
is_nothrow_constructible
(C++11)
(C++11)
(C++11)
is_default_constructible
is_trivially_default_constructible
is_nothrow_default_constructible
(C++11)
(C++11)
(C++11)
is_copy_constructible
is_trivially_copy_constructible
is_nothrow_copy_constructible
(C++11)
(C++11)
(C++11)
is_move_constructible
is_trivially_move_constructible
is_nothrow_move_constructible
(C++11)
(C++11)
(C++11)
is_assignable
is_trivially_assignable
is_nothrow_assignable
(C++11)
(C++11)
(C++11)
is_copy_assignable
is_trivially_copy_assignable
is_nothrow_copy_assignable
(C++11)
(C++11)
(C++11)
is_move_assignable
is_trivially_move_assignable
is_nothrow_move_assignable
(C++11)
(C++11)
(C++11)
is_destructible
is_trivially_destructible
is_nothrow_destructible
(C++11)
(C++11)
(C++11)
has_virtual_destructor(C++11)
Отношения собственности и запросов
Оригинал:
Relationships and property queries
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
is_same(C++11)
is_base_of(C++11)
is_convertible(C++11)
alignment_of(C++11)
rank(C++11)
extent(C++11)
Тип модификаций
Оригинал:
Type modifications
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
remove_cv
remove_const
remove_volatile
(C++11)
(C++11)
(C++11)
add_cv
add_const
add_volatile
(C++11)
(C++11)
(C++11)
make_signed(C++11)
make_unsigned(C++11)
Тип преобразования
Оригинал:
Type transformations
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
aligned_storage(C++11)
aligned_union(C++11)
decay(C++11)
enable_if(C++11)
conditional(C++11)
common_type(C++11)
underlying_type(C++11)
result_of(C++11)
Введите черта констант
Оригинал:
Type trait constants
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
integral_constant(C++11)
 

Содержание

[править] Базовые типы

[править] Основные типы, определенные в языке

[править] Дополнительные типы и макросы

Заголовочный файл <cstddef>
Тип беззнакового целого числа, возвращаемого оператором sizeof
(определение типа) [править]
целое число типа возвращается при вычитании двух указателей
Оригинал:
signed integer type returned when subtracting two pointers
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(определение типа) [править]
(C++11)
тип нулевого указателя литерала nullptr
(определение типа) [править]
Определяемая реализацией константа для нулевого указателя
(константа-макрос) [править]
POD типа с требованием выравнивания так велика, как любой другой тип скаляра
Оригинал:
POD type with alignment requirement as great as any other scalar type
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(определение типа) [править]
байтовое смещение от начала стандартной верстки типа указанного члена
Оригинал:
byte offset from the beginning of a standard-layout type to specified member
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция-макрос) [править]
Заголовочный файл <cstdbool>
__bool_true_false_are_defined
(C++11)
Макрос для совместимости с языком C, заменяется на 1
(константа-макрос)
Заголовочный файл <cstdalign>
__alignas_is_defined
(C++11)
Макрос для совместимости с языком C, заменяется на 1
(константа-макрос)

[править] Целочисленные типы фиксированной ширины (начиная с C++11)

[править] numeric_limits

Заголовочный файл <limits>
предоставляет интерфейс для запроса свойства всех основных числовых типов .
Оригинал:
provides an interface to query properties of all fundamental numeric types.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса) [править]

[править] С интерфейс к числовым пределам

[править] Динамическая идентификация типов

Содержит информацию о некотором типе, cгенерированную реализацией.
Этот класс возвращается оператором typeid
(класс) [править]
Обёртка для объекта типа type_info, которая позволяет использовать объекты этого типа в качестве индекса в ассоциативных и неупорядоченных ассоциативных контейнерах
(класс) [править]
Исключение, которое возникает, если аргумент в typeid операторе равен null
(класс) [править]
Исключение, которое возникает на некорректное выражение dynamic_cast, т.е. приведение ссылочного типа не удаётся
(класс) [править]

[править] Свойства типов

Свойства типов определяют основанный на шаблонах интерфейс времени компиляции для запроса или изменения свойств типов.

[править] Свойства типов

Заголовочный файл <type_traits>
Первичные категории типа
Оригинал:
Primary type categories
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
Проверяет является ли тип void или нет
(шаблон класса) [править]
Проверяет является ли тип целочисленным или нет
(шаблон класса) [править]
Проверяет является ли тип типом с плавающей запятой или нет
(шаблон класса) [править]
(C++11)
Проверяет является ли тип типом массива или нет
(шаблон класса) [править]
(C++11)
Проверяет является ли тип типом перечисления или нет
(шаблон класса) [править]
(C++11)
Проверяет является ли тип типом объединения или нет
(шаблон класса) [править]
(C++11)
Проверяет является ли тип типом класса (но не объединения) или нет
(шаблон класса) [править]
Проверяет является ли тип типом функции или нет
(шаблон класса) [править]
Проверяет является ли тип типом указателя или нет
(шаблон класса) [править]
Проверяет является ли тип типом левосторонней ссылки или нет
(шаблон класса) [править]
Проверяет является ли тип правосторонней ссылкой или нет
(шаблон класса) [править]
Проверяет является ли тип типом указателя на нестатический член объекта или нет
(шаблон класса) [править]
Проверяет является ли тип типом указателя на нестатическую функцию-член или нет
(шаблон класса) [править]
Композитный категории типа
Оригинал:
Composite type categories
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Проверяет является ли тип фундаментальным или нет
(шаблон класса) [править]
Проверяет является ли тип арифметическим или нет
(шаблон класса) [править]
(C++11)
Проверяет является ли тип скалярным или нет
(шаблон класса) [править]
(C++11)
Проверяет является ли тип объектным или нет
(шаблон класса) [править]
Проверяет является ли тип составным или нет
(шаблон класса) [править]
Проверяет является ли тип или левосторонней, или правосторонней ссылкой или нет
(шаблон класса) [править]
Проверяет является ли тип указателем на нестатический член объекта
(шаблон класса) [править]
Свойства типов
Проверяет содержит ли тип в себе квалификатор const или нет
(шаблон класса) [править]
notes=(C++11)}}
Проверяет содержит ли тип в себе квалификатор volatile или нет
(шаблон класса) [править]
Проверяет является ли тип тривиальным или нет
(шаблон класса) [править]
Проверяет является ли класс тривиальнокопируемым или нет
(шаблон класса) [править]
Проверяет имеет ли класс стандартную компоновку или нет
(шаблон класса) [править]
(C++11)
Проверяет является ли тип типом простой структуры данных или нет
(шаблон класса) [править]
Проверяет является ли тип литеральным или нет
(шаблон класса) [править]
(C++11)
Проверяет является ли тип классом (но не объединением), который не содержит в себе никаких данных или нет
(шаблон класса) [править]
Проверяет является ли тип типом полиморфного класса или нет
(шаблон класса) [править]
Проверяет является ли тип типом абстрактного класса или нет
(шаблон класса) [править]
(C++11)
Проверяет является ли тип знаковым арифметическим типом или нет
(шаблон класса) [править]
Проверяет является ли тип беззнаковым арифметическим типом или нет
(шаблон класса) [править]
Поддерживаемые операции
Проверяет имеет ли тип конструктор для конкретных аргументов или нет
(шаблон класса) [править]
Проверяет имеет ли тип конструктор по умолчанию или нет
(шаблон класса) [править]
Проверяет имеет ли тип конструктор копирования или нет
(шаблон класса) [править]
Проверяет имеет ли тип конструктор переноса или нет
(шаблон класса) [править]
Проверяет имеет ли тип оператор присваивания для конкретного аргумента или нет
(шаблон класса) [править]
Проверяет имеет ли тип оператор присваивания с копированием или нет
(шаблон класса) [править]
Проверяет имеет ли тип оператор присваивания с переносом или нет
(шаблон класса) [править]
Проверяет имеет ли тип не удалённый деструктор или нет
(шаблон класса) [править]
Проверяет имеет ли тип виртуальный деструктор или нет
(шаблон класса) [править]
Запросы свойств
Получает требования к выравниванию типа
(шаблон класса) [править]
(C++11)
Получает число измерений массива
(шаблон класса) [править]
(C++11)
Получает размер массива типа по указанному измерению
(шаблон класса) [править]
Отношения типов
(C++11)
Проверяет одинаковы ли два типа или нет
(шаблон класса) [править]
Проверяет наследуется ли тип от другого или нет
(шаблон класса) [править]
Проверяет может ли тип преобразован в другой или нет
(шаблон класса) [править]

[править] Модификация типов

Шаблоны модификации типов создают новые определения типов модифицируя шаблонный параметр. Доступ к результирующему типу может быть получен через type typedef член.

Заголовочный файл <type_traits>
Const-волатильность спецификаторов
Оригинал:
Const-volatility specifiers
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Удаляет const и/или volatile квалификаторы от данного типа
(шаблон класса) [править]
(C++11)
(C++11)
(C++11)
Добавляет const или/и volatile квалификаторы к данному типу
(шаблон класса) [править]
Ссылки
Удаляет ссылку из данного типа
(шаблон класса) [править]
Добавляет левостороннюю или правостороннюю ссылку
(шаблон класса) [править]
Указатели
Удаляет указатель от данного типа
(шаблон класса) [править]
Добавляет указатель на данный тип
(шаблон класса) [править]
Модификаторы знака
Делает данный целочисленный тип знаковым
(шаблон класса) [править]
Делает данный целочисленный тип беззнаковым
(шаблон класса) [править]
Массивы
Удаляет одно измерение от данного типа массива
(шаблон класса) [править]
Удаляет все измерения от данного типа массива
(шаблон класса) [править]

[править] Прочие преобразования

Заголовочный файл <type_traits>
Определяет тип, подходящий для использования в качестве неинициализированного хранилища для типов заданного размера
(шаблон класса) [править]
Определяет тип, подходящий для использования в качестве неинициализированного хранилища для всех данных типов
(шаблон класса) [править]
(C++11)
Применяет преобразования как при передачи аргумента функции по значению
(шаблон класса) [править]
(C++11)
Скрывает перегруженную функцию или специализацию класса, основываясь на логическом значении, известном в момент компиляции
(шаблон класса) [править]
Выбирает один из двух типов в зависимости от логической константы времени компиляции
(шаблон класса) [править]
Выводит общий для заданных типов тип
(шаблон класса) [править]
Получает внутрилежащий целочисленный тип для данного типа перечисления
(шаблон класса) [править]
(C++11)
Выводит возвращаемый тип при вызове функции
(шаблон класса) [править]

[править] Вспомогательные классы

Заголовочный файл <type_traits>
Константа времени компиляции указанного типа с указанным значением
(шаблон класса) [править]

Представлены две специализации std::integral_constant для типа bool:

Заголовочный файл <type_traits>
Тип Definition
true_type std::integral_constant<bool, true>
false_type std::integral_constant<bool, false>