Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ A和A之间有什么区别吗;和A=A()?_C++ - Fatal编程技术网

C++ A和A之间有什么区别吗;和A=A()?

C++ A和A之间有什么区别吗;和A=A()?,c++,C++,A和A之间有什么区别吗;A=A? 这里是一个类。直接初始化语法之间存在形式上的区别 和复制初始化语法 因为后者允许调用复制或移动构造函数,并且需要有一个可访问的复制构造函数或移动构造函数 但是,在实践中,额外的构造函数调用将被省略。第二个调用也会产生一个初始化对象a的值,这可能会有问题,也可能不会有问题,这取决于a。 A a; A a = A();

A和A之间有什么区别吗;A=A?
这里是一个类。

直接初始化语法之间存在形式上的区别

和复制初始化语法

因为后者允许调用复制或移动构造函数,并且需要有一个可访问的复制构造函数或移动构造函数


但是,在实践中,额外的构造函数调用将被省略。

第二个调用也会产生一个初始化对象a的值,这可能会有问题,也可能不会有问题,这取决于a。
A a;
A a = A();