为什么复制和直接初始化有所区别?

时间:2016-11-12 22:48:59

标签: c++ initialization copy-constructor copy-initialization

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

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;

为什么这些不同的初始化? 提前谢谢!

0 个答案:

没有答案