名前空間
変種
操作

名前付き要件: CopyConstructible

提供: cppreference.com
< cpp‎ | named req
 
 
名前付き要件
 

その型のインスタンスが左辺値式からコピー構築可能であることを指定します。

[編集] 要件

以下の内容を満たす場合、型 TCopyConstructible を満たします。

さらに、

  • T または const T 型の左辺値式または const T 型の右辺値v
  • 任意の識別子 u

が与えられたとき、以下の式が有効でなければならず、指定された効果を持たなければなりません。

事後条件
T u = v; u の値が v の値と同等である。

v の値は変更されない。

T(v) T(v) の値が v の値と同等である。

v の値は変更されない。

v.~T() も有効でなければならず、さらに、左辺値 v の場合は、式 &vT* または const T* 型でなければならず、 v のアドレスに評価されなければなりません。

(C++11以前)

[編集] ノート

C++11 までは、 operator& をオーバーロードしたクラスは CopyConstructible でなく、そのため標準ライブラリのコンテナで使用することができませんでした。 C++11 以降、標準ライブラリはオブジェクトのアドレスが必要な場合は std::addressof を使用します。

[編集] 関連項目

型がコピーコンストラクタを持っているかどうか調べます
(クラステンプレート) [edit]