説明
オブジェクトのコピーが可能である場合、その型はCopy Constructibleである。
表記
TはCopy Constructibleモデルの型tはT型のオブジェクトuはconst T型のオブジェクト
定義
妥当な式
| 名前 | 式 | 戻り値の型 | 意味論 |
|---|---|---|---|
| コピーコンストラクタ | T(t) | T | tはT(t)と同等である |
| コピーコンストラクタ | T(u) | T | uはT(u)と同等である |
| デストラクタ | t.~T() | T | |
| アドレス演算子 | &t | T* | tのアドレスを意味する |
| アドレス演算子 | &u | T* | uのアドレスを意味する |
モデル
intstd::pair
コンセプトチェックするクラス
template <class T>
struct CopyConstructibleConcept
{
void constraints() {
T a(b); // require copy constructor
T* ptr = &a; // require address of operator
const_constraints(a);
ignore_unused_variable_warning(ptr);
}
void const_constraints(const T& a) {
T c(a); // require const copy constructor
const T* ptr = &a; // require const address of operator
ignore_unused_variable_warning(c);
ignore_unused_variable_warning(ptr);
}
T b;
};
関連項目
Default Constructible and Assignable
Copyright © 2000 Jeremy Siek, Univ.of Notre Dame (jsiek@lsc.nd.edu)
Japanese Translation Copyright © 2014 Akira Takahashi
オリジナルの、及びこの著作権表示が全ての複製の中に現れる限り、この文書の複製、利用、変更、販売そして配布を認める。このドキュメントは「あるがまま」に提供されており、いかなる明示的、暗黙的保証も行わない。また、いかなる目的に対しても、その利用が適していることを関知しない。