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

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

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


 
 
 
Поддержка типов
Основные типы
Оригинал:
Basic types
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Основные типы
Исправлены типы целых ширину (C++11)
Числовые пределы
Оригинал:
Numeric limits
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
numeric_limits
С числовым ограничивает интерфейс
Время тип информации
Оригинал:
Runtime type information
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Тип черты
Оригинал:
Type traits
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Первичные категории типа
Оригинал:
Primary type categories
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
integral_constant(C++11)
 

Содержание

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

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

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

Заголовочный файл <cstddef>
беззнаковое целое число типа возвращаемого sizeof оператора
Оригинал:
unsigned integer type returned by the sizeof operator
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

(определение типа) [edit]
(C++11)
тип нулевого указателя буквальном nullptr
Оригинал:
the type of the null pointer literal nullptr
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(определение типа) [edit]
определяется реализацией нулевого указателя постоянно
Оригинал:
implementation-defined null pointer constant
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

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

(функция-макрос) [edit]
Заголовочный файл <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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]

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

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

содержит информацию о некоторых типов, порожденных implementation.
Это класс, возвращается TypeId оператора
Оригинал:
contains some type's information, generated by the implementation.
This is the class, returned by the TypeId operator
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(класс) [edit]
обертка type_info объект, который может быть использован в качестве индекса в ассоциативном и неупорядоченные ассоциативных контейнеров
Оригинал:
wrapper around a type_info object, that can be used as index in associative and unordered associative containers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(класс) [edit]
Исключение, которое возникает, если аргумент в TypeId выражение является недействительным
Оригинал:
exception that is thrown if an argument in a TypeId выражение is null
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(класс) [edit]
Исключение, которое выдается на некорректное выражение dynamic_cast, т.е. приведение ссылочного типа не удается
Оригинал:
exception that is thrown by an invalid dynamic_cast expression, i.e. a cast of reference type fails
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(класс) [edit]

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

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

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

Заголовочный файл <type_traits>
Первичные категории типа
Оригинал:
Primary type categories
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
(C++11)
проверяет, является ли тип void
Оригинал:
checks if a type is void
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип целочисленным
(шаблон класса) [edit]
проверяет, является ли тип типом с плавающей запятой
(шаблон класса) [edit]
(C++11)
проверяет, является ли тип является типом массива
Оригинал:
checks if a type is an array type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
проверяет, является ли тип перечислением типа
Оригинал:
checks if a type is an enumeration type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
проверяет, является ли тип объединения типа
Оригинал:
checks if a type is an union type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
checks if a type is a class type (but not union type)
(шаблон класса) [edit]
проверяет, является ли тип является функцией типа
Оригинал:
checks if a type is a function type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип указателя
Оригинал:
checks if a type is a pointer type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип именующее ссылкой
Оригинал:
checks if a type is lvalue reference
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип RValue ссылкой
Оригинал:
checks if a type is rvalue reference
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип указателя на не-статический член объекта
Оригинал:
checks if a type is a pointer to a non-static member object
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип указателя на нестатические функции-члена
Оригинал:
checks if a type is a pointer to a non-static member function
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
Композитный категории типа
Оригинал:
Composite type categories
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
проверяет, является ли тип основного типа
Оригинал:
checks if a type is fundamental type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип арифметического типа
Оригинал:
checks if a type is arithmetic type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
проверяет, является ли тип скалярного типа
Оригинал:
checks if a type is scalar type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
проверяет, является ли тип объекта типа
Оригинал:
checks if a type is object type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип соединения типа
Оригинал:
checks if a type is compound type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип либо именующее ссылкой или' RValue ссылки
Оригинал:
checks if a type is either lvalue reference or rvalue reference
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
checks if a type is a pointer to a non-static member function or object
(шаблон класса) [edit]
Свойства типов
(C++11)
проверяет, является ли тип конструкции квалификацию
Оригинал:
checks if a type is const-qualified
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип летучих квалификации
Оригинал:
checks if a type is volatile-qualified
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип тривиально
Оригинал:
checks if a type is trivial
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
checks if a type is trivially copyable
(шаблон класса) [edit]
проверяет, является ли тип нормативно-макета типа
Оригинал:
checks if a type is standard-layout type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
проверяет, является ли тип обычный старый данных (POD) типа
Оригинал:
checks if a type is plain-old data (POD) type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
checks if a type is literal type
(шаблон класса) [edit]
(C++11)
checks if a type is class (but not union) type and has no data
(шаблон класса) [edit]
проверяет, является ли тип полиморфного типа класса
Оригинал:
checks if a type is polymorphic class type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип является абстрактным типом класса
Оригинал:
checks if a type is abstract class type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
проверяет тип подписан арифметического типа
Оригинал:
checks if a type is signed arithmetic type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип без знака арифметического типа
Оригинал:
checks if a type is unsigned arithmetic type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
Поддерживаемые операции
проверяет, является ли тип имеет конструктор для конкретных аргументов
Оригинал:
checks if a type has a constructor for specific arguments
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип имеет конструктор по умолчанию
Оригинал:
checks if a type has a default constructor
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип имеет конструктор копирования
Оригинал:
checks if a type has a copy constructor
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип имеет ход конструктора
Оригинал:
checks if a type has a move constructor
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип имеет оператор присваивания для конкретного аргумента
Оригинал:
checks if a type has a assignment operator for a specific argument
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип имеет копирования оператора присваивания
Оригинал:
checks if a type has a copy assignment operator
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип имеет оператор ход назначения
Оригинал:
checks if a type has a move assignment operator
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип имеет не удалил деструктор
Оригинал:
checks if a type has a non-deleted destructor
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
проверяет, является ли тип имеет виртуальный деструктор
Оригинал:
checks if a type has a virtual destructor
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
Запросы свойств
получает выравнивания типа требований
Оригинал:
obtains the type's alignment requirements
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
получает число измерений массива
Оригинал:
obtains the number of dimensions of an array type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
получает размер массива типа по указанному измерению
Оригинал:
obtains the size of an array type along a specified dimension
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
Отношения типов
(C++11)
проверяет два типа одинаковы
Оригинал:
checks if two types are the same
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
checks if a type is derived from the other type
(шаблон класса) [edit]
проверяет, является ли тип может быть преобразован в другой тип
Оригинал:
checks if a type can be converted to the other type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]

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

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

Заголовочный файл <type_traits>
Const-волатильность спецификаторов
Оригинал:
Const-volatility specifiers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
удаляет const и / или volatile спецификаторы от данного типа
Оригинал:
removes const or/and volatile specifiers from the given type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
(C++11)
(C++11)
adds const or/and volatile specifiers to the given type
(шаблон класса) [edit]
Ссылки
удаляет ссылки из данного типа
Оригинал:
removes reference from the given type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
именующее добавляет' или' RValue ссылка на данный тип
Оригинал:
adds lvalue or rvalue reference to the given type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
Указатели
удаляет указатель от данного типа
Оригинал:
removes pointer from the given type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
добавляет указатель на данного типа
Оригинал:
adds pointer to the given type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
Модификаторы знака
делает данный интегрального типа подписано
Оригинал:
makes the given integral type signed
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
делает данный интегральный тип без знака
Оригинал:
makes the given integral type unsigned
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
Массивы
удаляет одну степень от данного типа массива
Оригинал:
removes one extent from the given array type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
removes all extents from the given array type
(шаблон класса) [edit]

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

Заголовочный файл <type_traits>
определяет тип подходит для использования в качестве неинициализированные для хранения типов заданного размера
Оригинал:
defines the type suitable for use as uninitialized storage for types of given size
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
определяет тип подходит для использования в качестве неинициализированные для хранения всех данных типов
Оригинал:
defines the type suitable for use as uninitialized storage for all given types
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
применяется тип преобразований, как при переходе аргумента функции по значению
Оригинал:
applies type transformations as when passing a function argument by value
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
скрывает перегруженную функцию или специализацию класса, основываясь на логическом значении, известном в момент компиляции
(шаблон класса) [edit]
выбирает один из двух типов в зависимости от логической константы времени компиляции
(шаблон класса) [edit]
deduces the result type of a mixed-mode arithmetic expression
(шаблон класса) [edit]
получает основной целочисленный тип для данного типа перечисления
Оригинал:
obtains the underlying integer type for a given enumeration type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
(C++11)
выводит тип возвращаемого выражения вызова функции
Оригинал:
deduces the return type of a function call expression
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]

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

Заголовочный файл <type_traits>
константой времени компиляции указанного типа с указанным значением
Оригинал:
compile-time constant of specified type with specified value
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]

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

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