使用する上で、最初よく分からなかったのが要素オブジェクトの構築と解放のタイミングだ。いろいろなメンバ関数などを呼び出して、オブジェクトの構築がどのように行われているのかを確認した。コンストラクタ・クラスメソッドはなにもコールされなかった。コンストラクタも呼ばれないのは当然と言えば当然である。コンストラクタ・クラスメソッドはなにもコールされなかった。ベクターが領域をあらかじめ確保しておくだけなので、ベクター要素のコンストラクタはコールされない。これは当然と言えば当然だが覚えておく必要がある。引数オブジェクトを生成するためだ。ベクター内に要素が作成されるときに呼ばれている。ために生成した仮引数オブジェクトがデリートされた。実行すると、コピーコンストラクタにより新しい要素が生成されることが分かった。1回目のコールではコピーコンストラクタが1回だけコールされた。要素をひとつ生成するためだ。2回目のコールでは、まず、コピーコンストラクタが2回コールされた後、デストラクタが1回コールされた。領域がひとつだけしか確保されていなかったので、新たに領域が確保され、コピーコンストラクタにより値がコピーされている。最後に不要になった古い領域にあったオブジェクトがデリートされるときにデストラクタがコールされている。コピー演算子は使用せず、コピーコンストラクタにより要素がコピーされていることがわかる。実装での話なので、他の実装ではコピー演算子を使用するかもしれない。コピー演算子もちゃんと定義しておいた方が安全である。サイズを確保したい場合がある。コールしてみたところ、デフォルトコンストラクタが1回、コピーコンストラクタが10回、デストラクタが1回コールされた。なっており、デフォルトコンストラクタでいったんテンポラリオブジェクトを生成し、それをコピーコンストラクタで各要素にコピーしていることがわかる。最後に不要になったテンポラリオブジェクトを削除するときにデストラクタが呼ばれている。コールしてみたところ、デフォルトコンストラクタが1回、デストラクタが6回コールされた。宣言されているためである。そのために削除するメンバの個数(5)+1回のデストラクタがコールされている。