簡體   English   中英

為什么C++強制成員變量的初始化按照聲明的順序

[英]Why C++ forces initialization of member variables to be in the order of the declaration

我知道在 C++ 中,類頭中成員的聲明定義了初始化順序。 你能告訴我為什么 C++ 選擇這種設計嗎? 強制初始化順序而不是遵循初始化列表有什么好處嗎?

構造函數可以重載,而析構函數則不能。 如果數據成員可以為不同的構造函數以不同的順序初始化,那么析構函數不能保證以它們構造的相反順序對數據成員執行銷毀(對於由不同構造函數構造的對象)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM