C++语言有几种不同的初始化方式:
直接初始化
不使用=号
string s("hello world");
string s(10,'c');
拷贝初始化
使用=号初始化一个变量
string s="hello world";
string s=string s(10,'c');
拷贝初始化不仅在我们用=号定义变量时发生.在下列情况下也会发生:
- 将一个对象作为实参传递给一个非引用类型的形参.
- 从一个返回类型为非引用类型的函数返回一个对象.
- 用{}列表初始化一个数组中的元素或者一个聚合类中的成员.