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

C++ именованные требования:DefaultConstructible

Материал из cppreference.com
< cpp‎ | named req
 
 
Именованные требования в C++
Основные
DefaultConstructible
Свойства типа
В масштабах библиотеки
Контейнер
Элементы контейнера
(C++11)

Итератор
Потоковый Ввод/Вывод
Форматтеры
(C++20)
Случайные Числа
(C++11)    
Конкуренция
Диапазоны
Другое
(C++11)


 

Определяет, что экземпляр данного типа может быть сконструирован по умолчанию.

[править]Требования

Тип T удовлетворяет DefaultConstructible если

Дан

  • u, произвольный идентификатор

Следующие выражения должны быть допустимыми и иметь указанные эффекты

ВыражениеПостусловие
T u Объект u является default-initialized
T u{} Объект u является value-initialized или aggregate-initialized.
T()

T{}

Временный объект типа T является value-initialized или aggregate-initialized.

===Заметки

[править]=

Для объектов, принадлежащих классу не агрегатного типа, публичный default constructor должен быть определен (либо определяемый пользователем, либо неявно определенный) чтобы удовлетворить DefaultConstructible.

Не константные объекты типа non-class object type всегда DefaultConstructible.

Константные типы не относящиеся к классам не являются DefaultConstructible.

Константные агрегатные типы не являются DefaultConstructible если любой из их членов является объектом не относящимся к классам.

Не объектные типы (функции, ссылки, и (возможно cv-квалифицированный) тип void) так-же как и константные не объектные типы никогда не являются DefaultConstructible

[править]Смотри также

проверяет, есть ли у типа конструктор по умолчанию
(шаблон класса)[править]
указывает, что объект типа может быть сконструирован по умолчанию
(концепт)[править]
close