2016-08-26 5 views
1

ベクトルにユーザ定義のオブジェクトが含まれているときにstd :: vectorに挿入すると、十分なスペースがないために内部的にストレージの再配置が行われる可能性があります。このような場合、代入演算子は呼び出されるか、コンストラクトをコピーしますか?ベクトルにユーザ定義のオブジェクトが含まれている場合、ベクトルのストレージ再配置で呼び出される内容

+1

moveコンストラクタが生成されない場合、コンストラクタが呼び出されます。コピーコンストラクタでフォールバックされます。 – Jarod42

+0

コピーや移動が必要ですが、必要かどうかわかりません。いくつかの良い読書:http://stackoverflow.com/questions/17299951/c-vector-what-happens-whenever-it-expands-reallocate-on-stack – NathanOliver

+0

@ Jarod42私は信じてスローすることができない場合にのみ私は信じています。 –

答えて

0

元のストレージから新しいストレージに要素を移動/コピーするには、copy(または使用可能な場合は移動)コンストラクタを使用します。

関連する問題