debug和release调试结果不同是因为release下会将代码再次优化
void test02() { Person p; p.age = 10; doWork(p); } Person doWork2() { Person p1; return p1; //复制一个新的数据返回 } void test03() { Person p = doWork2(); } /* Person p; 不调用默认构造 doWork2(p); void doWork2(Person& p) { Person p1; //调用默认构造 } */
结果参照构造函数和析构函数