std::copy_constructible
来自cppreference.com
在标头 <concepts> 定义
|
||
template <class T> concept copy_constructible = |
(C++20 起) | |
概念 copy_constructible
若符合这些条件则得到满足:T
为左值引用类型,或若它是 move_constructible
对象类型,而能从(可为 const 的)该类型左值或 const 右值,在直接和复制初始化语境中以通常语义构造该类型对象(构造副本而不更改源)。
语义要求
若 T
为对象类型,则 copy_constructible<T>
仅若符合下列条件才得到实现。给定
-
v
,T
类型左值(可为 const )或为 const T 类型右值,
下列为真:
- 定义 T u = v; 后,
u
等于v
且v
不被修改; -
T(v)
等于v
且不修改v
。
参阅
(C++11)(C++11)(C++11) |
检查类型是否拥有复制构造函数 (类模板) |