條款26 盡可能延後變數定義式的出現時間

2021-06-22 09:33:25 字數 379 閱讀 8353

結論1:盡可能延後變數定義式的出現,這樣做可增加程式的清晰度並改善程式效率。

應該延後變數的定義,直到使用該變數的前一刻為止,甚至應該嘗試延後定義變數直到能夠給它初值實參為止。 這樣不僅能夠避免構造(和析構)非必要物件,還可以避免無意義的default構造行為。

當變數應用於迴圈時,有兩個一般性結構:

widget w;//結構一:定義於迴圈外

for (int i = 0; i < n; ++i)

for (int i = 0; i < n; i++)
除非知道賦值成本比「構造+析構」成本低並且正在處理**中效率高度敏感的部分,否則應該使用結構二,結構一會造成名稱w的作用域比結構二更大。

條款26 盡可能延後變數定義式的出現時間

條款26 盡可能延後變數定義式的出現時間 postpone variable definitions as long as possible.內容 由於定義乙個類變數時,你就必須承擔起構造和析構的負擔.所以我們要儘量減少定義一些我們不用的物件,估計你現在對這條約束很不在意,我不用它為啥要定義它,我定...

條款26 盡可能延後變數定義式的出現時間

主要是效率上的考慮。考慮下述 void encrypt std string s std string encryptpassword const std string password 具體獲取密碼加密操作 encrypted password encrypt encrypted return e...

條款26 盡可能延後變數定義式的出現時間

主要是效率上的考慮。考慮下述 void encrypt std string s std string encryptpassword const std string password 具體獲取密碼加密操作 encrypted password encrypt encrypted return e...