C++ 概念: CopyConstructible

来自cppreference.com
< cpp‎ | concept
 
 
 

指定类型实例能从左值表达式构造。

[编辑] 要求

类型 T 满足可复制构造 (CopyConstructible) ,若

给定

  • vTconst T 类型的左值表达式或 const T 类型的右值表达式
  • u ,任意标识符

下列表达式必须合法且拥有其指定的效应

表达式 后置条件
T u = v; u 的值等价于 v 的值。不更改 v 的值。
T(v) T(v) 的值等价于 v 的值。不更改 v 的值。

表达式 v.~T() 亦必须合法,且对于左值 v ,表达式 &v 必须拥有 T*const T* 类型,且必须求值为 v 的地址。

(C++11 前)

[编辑] 注意

C++11 前,重载 operator& 的类非可复制构造 (CopyConstructible) 从而不可用于标准库容器。 C++11 开始,标准库在凡是需要对象地址时都使用 std::addressof

[编辑] 参阅

检查类型是否拥有复制构造函数
(类模板) [编辑]