一小段c++代码求大神教

部分代码
Point f(double x, double y)
{
Point P(x,y);
return P;
}
void main()
{
Point A(0,0);
Point B = f(3,4);
}

Point是自定义的类
请问调用几次拷贝构造函数?
自己试过 。可是 vs调用了一次,vc调用了两次。哪个正确?

1.应该是调用2次,vs调用一次,可能是Point A(0,0)被编译器优化掉了。
2.建议再main函数中添加对A进行访问的代码,然后在vs上测试,再看看调用了几次。

VC6.0版本不是特别支持c++语法, 理论上调用两次,vs优化掉一次所以就掉用了一次

应该是调用2次,一次是函数f返回的时候,另一次是对B初始化的时候
至于说vs只调用了1次,可能和bs的编译器有关,你看看是否可以设置其编译选项,去掉优化之类的设置。