为什么我程序运行出来没有调用拷贝函数
//3、值方式返回局部对象
#include<iostream>
using namespace std;
class Person {
public:
Person()
{
cout << "Person默认构造函数调用" << endl;
}
Person(int age)
{
m_Age = age;
cout << "Person有参构造函数的调用" << endl;
}
Person(const Person & p)
{
m_Age = p.m_Age;
cout << "Person拷贝构造函数的调用" << endl;
}
~Person()
{
cout << "Person析构函数调用" << endl;
}
int m_Age;
};
Person doWork2()
{
Person p1;
cout << (int*)&p1 << endl;
return p1;
}
void test03()
{
Person p = doWork2();
cout << (int*)&p << endl;
}
int main() {
//test01();
test03();
system("pause");
return 0;
}
结果是这样的