#include <iostream>
using namespace std;
int i;
class A
{
public:
~A()
{
i=10;
}
};
int foo()
{
i=3;
A ob;
return i;
}
int main()
{
cout << "i = " << foo() << endl;
return 0;
}
輸出是3時,爲什麼不10.爲什麼這個C++程序的輸出是3
您只在析構函數中將i設置爲10。因此,當您打印i的值時,對象ob仍然有效。 – ckv