我有以下问题,希望你能帮助我。 代码:
A a; //A(void) is called
A b(a); //A(const A&) is called: direct-initialization
A c = a; //A(const A&) is called: copy-initialization
为什么我们在这些初始化之间存在差异?
1) A b(a);
2) A c = a;
我认为在这种情况下两者都是相同的,因为每次调用复制构造函数。 或者我们是否有所不同,因为2)中可能存在隐式转换?
但我读到,在这种情况下,我们在初始化之间有所不同:
3) int a(5);
4) int a = 5;
为什么这些不同的初始化? 提前谢谢!