我有以下问题,希望你能帮助我。代码:
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;
为什么这些不同的初始化?先感谢您!