C++語(yǔ)言有幾種不同的初始化方式:
直接初始化
不使用=號(hào)
string s("hello world");
string s(10,'c');
拷貝初始化
使用=號(hào)初始化一個(gè)變量
string s="hello world";
string s=string s(10,'c');
拷貝初始化不僅在我們用=號(hào)定義變量時(shí)發(fā)生.在下列情況下也會(huì)發(fā)生:
- 將一個(gè)對(duì)象作為實(shí)參傳遞給一個(gè)非引用類型的形參.
- 從一個(gè)返回類型為非引用類型的函數(shù)返回一個(gè)對(duì)象.
- 用{}列表初始化一個(gè)數(shù)組中的元素或者一個(gè)聚合類中的成員.