error C2248 に関してその2

昨日の続き。
下記のテストクラス

class CTestClass {

public:
	CTestClass() { ::AfxMessageBox(_T("コンストラクタ")); }
	CTestClass(const CTestClass& obj) { ::AfxMessageBox(_T("コピーコンストラクタ")); }
	CTestClass& operator=(const CTestClass& obj) { ::AfxMessageBox(_T("代入")); return *this; }
};

を作成し、

std::vector a(10);

のように呼び出してみた。
結果はコンストラクタが最初に呼び出され、コピーコンストラクタが10回呼び出された。
イメージ的にはコンストラクタが10回呼び出されそうだが。
vectorクラス内からどのように呼び出されるか調査したいが
時間がかかりそうなのでとりあえずここで止め。
一応言っておくとCFileでエラーが出るのはCObjectでコピーが
禁止(コピーコンストラクタがprivate)されているため。