C 的初始化列表

2021-07-23 14:28:43 字數 512 閱讀 5139

class stu

private:

string m_stuname;

int m_stuage;

};

1.初始化列表先於建構函式執行。

2.初始化列表只能用於建構函式。

3.初始化列表可以同時初始化多個資料成員,效率高,速度快。

注意:初始化列表中的成員變數的初始化順序只與成員變數在類中定義的順序有關,而與初始化列表中成員變數的出現順序無關。

既然有了建構函式,為什麼還需要初始化列表呢?

在某些情況下:

class

circle

//編譯出錯

circle():m_pi(3.14){}//正確

private:

const

int m_pi;//常量和引用在定義時需進行初始化,如果不想初始化

int &m_pi2;//只能借用初始化列表來完成。

};

c 初始化列表

與其他函式不同,建構函式除了有名字,引數列表和函式體之外,還可以有初始化列表,初始化列表以冒號開頭,後跟一系列以逗號分隔的初始化字段。struct foo 初始化列表 建構函式的兩個執行階段 從概念上來講,建構函式的執行可以分成兩個階段,初始化階段和計算階段,初始化階段先於計算階段 初始化階段 所有...

C 初始化列表

與其他函式不同,建構函式除了有名字,引數列表和函式體之外,還可以有初始化列表,初始化列表以冒號開頭,後跟一系列以逗號分隔的初始化字段。在c 中,struct和class的唯一區別是預設的克訪問性不同,而這裡我們不考慮訪問性的問題,所以下面的 都以struct來演示。struct foo 初始化列表 ...

C 初始化列表

與其他函式不同,建構函式除了有名字,引數列表和函式體之外,還可以有初始化列表,初始化列表以冒號開頭,後跟一系列以逗號分隔的初始化字段。struct foo 初始化列表 建構函式的執行可以分成兩個階段,初始化階段和計算階段,初始化階段先於計算階段。所有類型別 class type 的成員都會在初始化階...