C++相談室 part56
■ このスレッドは過去ログ倉庫に格納されています
0295デフォルトの名無しさん
2007/08/13(月) 11:17:36std::complex<double> c = std::complex<double>(1, 2);
とした時、コピーコンストラクタが呼ばれるかどうかに関する規定がよく分からない。
これは「コピー初期化」であって「std::complex<double>(1, 2)がcにコピーされる」らしいんだが、
実際やってみると、どうもコピーコンストラクタは呼ばれない。
この「コピー」というのがコピーコンストラクタを呼ぶことを意味していないのか、
それともコピーコンストラクタを呼ばない最適化が規格で許されてるのか、
どうもよく分からない。
このあたりどうなってるのか詳しく知ってる人はいる?
■ このスレッドは過去ログ倉庫に格納されています