【初心者歓迎】C/C++室 Ver.22【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0759デフォルトの名無しさん
2005/11/04(金) 21:46:42以下のようなコードを実行したところ
class A
{
int m_n;
public:
A::A(int n) :m_n(n){ cout << "コンストラクタ" << endl; }
A::A(const A& a):m_n(a.m_n){ cout << "コピーコンストラクタ" << endl; }
A::~A() { cout << "デストラクタ"<< endl; }
};
A func()
{
return A(10);
}
int main()
{
A a(func());
return 0;
}
Borland C++ では
コンストラクタ
コピーコンストラクタ
デストラクタ
デストラクタ
Visual C++ 6.0では
コンストラクタ
デストラクタ
となりました。なぜ、違った結果になるのかわかりません。
どちらも最適化はOFFにしてあります。どなたか助けてください。
■ このスレッドは過去ログ倉庫に格納されています