#include<iostream>
using namespace std;
class A
{
public:
A(){};
A(const A &a)
{
cout<<"copy"<<endl;
data=a.data;
}
int data;
};
A func()
{
A a;
a.data=3;
return a;
}
int main()
{
A a=func();
cout<<a.data<<endl;
return 0;
}
这段代码在vs2012和g++编译的结果不一样,这是为什么呢?
g++为什么没调用我自己写的copy constructor? |