一个obj2(A tmp); C++中的这个陈述是什么意思

1 c++ constructor destructor

class A{

};

int main()
{

A obj(A tmp);  //will this call ctor/dtor?. 

}
Run Code Online (Sandbox Code Playgroud)

该程序运行时无需调用ctor/dtor.想知道这句话的意思.

Luc*_*ore 5

不,这是一个功能声明.

把它想象成

A obj(A tmp); 
int main()
{

}
Run Code Online (Sandbox Code Playgroud)

但obj只有里面可见main.

如果你重命名一些东西,那就更清楚了:

A func(A param); 
int main()
{

}
Run Code Online (Sandbox Code Playgroud)