A 是这样定义的类:
class A
{
public:
int x;
}
主要:
int main()
{
A(ob); // note that copy constructor doesn't get called
ob.x = 1; // just to show that ob's members can be accessed
}
这是一个不同的 main():
int main()
{
A ob;
A ob2 = A(ob); // copy constructor gets called and everything happens as expected
}
我从未在 C++ 中见过这样的实例化。A(ob) 不是应该通过调用 A 的构造函数来进行函数样式类型转换ob
吗?之前声明的对象在哪里?
编辑:在第二个 main() 中,A(ob) 用作ob2
.