text3()也会有临时变量的的啊
我用下面的代码试了一下,发现调用了两次析构函数:
#include <iostream>
using namespace std;
class N
{
public:
string name;
void sgetname()
{
name = "jim";
cout<<name<<endl;
}
~N()
{
cout<<"~N"<<endl;
}
};
void text(N *n)
{
n->sgetname();
delete n;
n = NULL;
}
int main ()
{
N i;
text(&i);
return 0;
}
视频中说只有text1()才创建临时变量……
这是怎么回事