C++ именованные требования: CopyConstructible
Материал из cppreference.com
Определяет, что экземпляр типа может быть создан копированием из lvalue expression.
Требования
Тип T удовлетворяет CopyConstructible если
- Тип
Tудовлетворяет MoveConstructible, и
Даны
v, lvalue выражение типаTилиconst Tили rvalue выражение типаconst Tu, произвольный идентификатор
Следующие выражения должны быть допустимыми и иметь указанные эффекты
| Выражение | Постусловие |
|---|---|
T u = v;
|
Значение u равнозначно значению v.
Значение |
T(v)
|
Значение T(v) равнозначно значениюv.
Значение |
|
Выражение |
Заметки
До C++11, классы, которые переопределяли operator& не были CopyConstructible и поэтому их нельзя было использовать в STL. Начиная с C++11, стандартная библиотека использует std::addressof всякий раз, когда требуется адрес объекта.
Смотри также
(C++11)(C++11)(C++11) |
проверяет, есть ли у типа конструктор копирования (шаблон класса) |
(C++20) |
указывает, что объект типа может быть создан копированием и перемещением (концепт) |