1. 程式人生 > >c++中初始化列表和建構函式初始化

c++中初始化列表和建構函式初始化

初始化和賦值對內建型別的成員沒有什麼的的區別,在成員初始化列表和建構函式體內進行,在效能和結果上都是一樣的。對非內建型別成員變數,因為類型別的資料成員的資料成員物件在進入函式體前已經構造完成,也就是說在成員初始化列表處進行構造物件的工作,呼叫建構函式,在進入函式體之後,進行的是對已經構造好的類物件的賦值,又呼叫一個賦值賦值操作符才能完成(如果並未提供,則使用編譯器提供的預設成員賦值行為)。為了避免兩次構造,推薦使用類建構函式初始化列表。