掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CStringを関数で戻す場合 (ID:69069)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>ってことなので、つまり >strのコピーメソッドの方が、strSubのデストラクタより、早く処理されるってことなんですね。 はい、そうです。 下記ソースを試してみてください。 VC++2008 Express で試したところ、 debug版ではRVOが実施されず、release版では実施されているようです。 #include <iostream> class A{ public: A() { std::cout << "コンストラクタ" << std::endl; } A(const A &) { std::cout << "コピーコンストラクタ" << std::endl; } ~A(){ std::cout << "デストラクタ" << std::endl; } A & operator=(const A &a){ std::cout << "代入" << std::endl; return *this; } }; A CreateA() { A sub_a; return sub_a; } int main() { { A a; a = CreateA(); } std::cin.sync(); std::cin.get(); return 0; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.