初始化類的成員有兩種方式,一是使用初始化列表,二是在建構函式體內進行賦值操作。使用初始化列表主要是基於效能問題,對於內建型別,如int, float等,使用初始化類表和在建構函式體內初始化差別不是很大,但是對於類型別來說,最好使用初始化列表,為什麼呢?由上面的測試可知,使用初始化列表少了一次呼叫預設建構函式的過程,這對於資料密集型的類來說,是非常高效的
除了效能問題之外,有些時場合初始化列表是不可或缺的,以下幾種情況時必須使用初始化列表
成員是按照他們在類**現的順序進行初始化的,而不是按照他們在初始化列表出現的順序初始化的.
類初始化列表
以前在寫 時用初始化列表,因為前輩們說效率更高,也沒有去想為什麼。最近看 item4 確保物件在使用前被初始化,恍然大悟。如果使用賦值的方式在建構函式中初始化 類成員變數 會先呼叫這個 類成員變數 類的預設建構函式,再呼叫賦值函式。而使用初始化列表初始化 類成員變數 只會呼叫這個 類成員變數 類的拷...
類初始化列表簡介
類的建構函式是類的一種特殊的成員函式,它會在每次建立類的新物件時執行。建構函式的名稱與類的名稱是完全相同的,並且不會返回任何型別,也不會返回 void。建構函式可用於為某些成員變數設定初始值。使用初始化列表來初始化字段 line line double len length len 相當於通過有參構...
初始化 1 預設初始化 列表初始化
初始化的基本概念 事實 初始化和賦值是兩個完全不同的操作。初始化,是建立變數時賦予其乙個初始值。賦值,是把物件的當前值擦除,用乙個新值代替。列表初始化 p39 作為c 11新標準的一部分,用花括號 來初始化變數得到了全面應用。出於某些原因,這種初始化的方式叫做列表初始化。現在,無論是初始化物件還是某...