1

我有以下问题,希望你能帮助我。代码:

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;

为什么这些不同的初始化?先感谢您!

4

0 回答 0