最終更新日時:
が更新

履歴 編集

Copy Constructible

説明

オブジェクトのコピーが可能である場合、その型はCopy Constructibleである。

表記

  • TはCopy Constructibleモデルの型
  • tT型のオブジェクト
  • uconst T型のオブジェクト

定義

妥当な式

名前 戻り値の型 意味論
コピーコンストラクタ T(t) T tT(t)と同等である
コピーコンストラクタ T(u) T uT(u)と同等である
デストラクタ t.~T() T
アドレス演算子 &t T* tのアドレスを意味する
アドレス演算子 &u T* uのアドレスを意味する

モデル

  • int
  • std::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

オリジナルの、及びこの著作権表示が全ての複製の中に現れる限り、この文書の複製、利用、変更、販売そして配布を認める。このドキュメントは「あるがまま」に提供されており、いかなる明示的、暗黙的保証も行わない。また、いかなる目的に対しても、その利用が適していることを関知しない。