2013-03-04 5 views
13

ここでSTDの文書からの抜粋だ::(1)及びstd::is_trivially_copy_constructible(2):はis_copy_constructible何のstdにおける些細な操作です:: is_trivially_copy_constructible C++で

1)タイプがあるかどうかをチェックしますCopyConstructible、つまり、アクセス可能な 明示的または暗黙的なコピーコンストラクタを持ちます。要件が満たされた場合は、 メンバの定数値がtrueになります。それ以外の場合は、 falseです。

2)(1)と同じですが、コピーコンストラクタの式では、 は簡単な操作ではありません。

ここでは簡単な操作とは何でしょうか?

+2

[この](http://stackoverflow.com/questions/4178175/what-are-aggregates-and-pods-and-how-why-are-they-special) –

+0

@AndyProwlを助けるかもしれない:非常に役に立った、ありがとう。 – vitaut

答えて

15

私はonce before言ったように:

をので、これらすべての些細と非自明なものは何ですか?クラスXのため

コピー/移動コンストラクタは自明であり、それはユーザ提供および場合

ない場合 - クラスXには仮想関数(10.3)となし、仮想基本クラス(10.1)を有していない、と

- 各々直接基本クラスのサブオブジェクトは自明であり、

移動/コピーするために選択されたコンストラクタ - クラス型(またはその配列)であるXの各非静的データメンバのために選択されたコンストラクタ そのメンバーをコピー/移動するのは簡単です。

それ以外の場合は、コピー/移動コンストラクタは自明ではありません。

基本的にこれはそれが は、ユーザーが提供されていない場合はコピーまたはコンストラクタを移動するには簡単です、クラスがそれに仮想何の関係もありませんし、この プロパティは、クラスのすべてのメンバーのためにと のために再帰的に保持していることを意味します基本クラス

関連する問題