摘要: 我們知道,對(duì)一個(gè)對(duì)象的所有成員來(lái)說,它們的析構(gòu)函數(shù)被調(diào)用的順序總是和它們?cè)跇?gòu)造函數(shù)里被創(chuàng)建的順序相反。那么,如果允許上面的情況(即,成員按它們?cè)诔跏蓟斜砩铣霈F(xiàn)的順序被初始化)發(fā)生,編譯器就要為每一個(gè)對(duì)象跟蹤其成員初始化的順序,以保證它們的析構(gòu)函數(shù)以正確的順序被調(diào)用。這會(huì)帶來(lái)昂貴的開銷。所以,為了避免這一開銷,同一種類型的所有對(duì)象在創(chuàng)建(構(gòu)造)和摧毀(析構(gòu))過程中對(duì)成員的處理順序都是相同的,而不管成員在初始化列表中的順序如何。
閱讀全文