std:: copy_constructible
|
Определено в заголовке
<concepts>
|
||
|
template
<
class
T
>
concept copy_constructible
=
|
(начиная с C++20) | |
Концепт
copy_constructible
выполняется, если
T
является типом lvalue-ссылки, или если это
move_constructible
объектный тип, где объект этого типа может быть сконструирован из (возможно, const) lvalue или const rvalue этого типа в контекстах как прямой, так и копирующей инициализации с обычной семантикой (копия создается без изменения источника).
Семантические требования
Если
T
является объектным типом, то
copy_constructible<T>
моделируется только если при заданных
- v , lvalue типа (возможно const ) T или rvalue типа const T ,
следующие утверждения верны:
- После определения T u = v ; , u равно v и v не изменяется;
- T ( v ) равно v и не изменяет v .
Ссылки
- Стандарт C++23 (ISO/IEC 14882:2024):
-
-
18.4.14 Концепт
copy_constructible[concept.copyconstructible]
-
18.4.14 Концепт
- Стандарт C++20 (ISO/IEC 14882:2020):
-
-
18.4.14 Концепт
copy_constructible[concept.copyconstructible]
-
18.4.14 Концепт
Смотрите также
|
(C++11)
(C++11)
(C++11)
|
проверяет, имеет ли тип конструктор копирования
(шаблон класса) |