《大規模C 程式設計》讀書筆記30

2021-04-15 14:31:36 字數 903 閱讀 7487

technorati 標籤:

c++,

大規模c++程式設計,

讀書筆記

原則110:宣告資料成員的次序能夠影響物件的大小。

指導方針36:只有在已知這樣做安全時,才能為了優化在實現中用short代替int。

指導方針37:即使在實現中也盡量不要考慮使用unsigned。

原則111:在實現中使用unsigned型別以「提高一點效能」,是基本的整數型別沒有大到足夠安全的標誌。

用unsigned short,不如用int,因為用short可能造成的孔洞可能足夠放乙個int了。

原則112:自然的包括其邊界條件的演算法,通常比將邊界條件作為特殊情況處理的演算法更簡單、更短小、更易於理解和測試。

原則113:通過增加乙個額外的間接層能解決很多問題。

賦值運算子可以根據基本的析構和拷貝建構函式來實現:

#include "new.h"			// declare placement syntax

t& t::operator=(const t& that)

return *this; // return reference to this object

}

原則114:在乙個元件中分解出一般可重用的功能,可以減少**長度並提高可靠性,而不會損失太多的執行時效能。

指導方針38:在設計乙個函式、元件、包或完整的系統時,使用最簡單的有效技術。

《大規模C 程式設計》讀書筆記19

原則59 只保留乙個不透明指標 指向包含乙個類的所有私有成員的結構 會使乙個具體的類能夠將其客戶程式與其實現絕緣。定義35 乙個具體類如果滿足下列條件,就是完全絕緣的 只包含乙個資料成員,它表面上是不透明指標,指向乙個定義具體類的實現的non const struct 定義在.c檔案中 不包含任何其...

《大規模C 程式設計》讀書筆記23

technorati 標籤 c 大規模c 程式設計,讀書筆記 原則83 乙個類是乙個adt的具體規範,乙個元件是乙個抽象的具體規範。原則84 原則85 在任何可行的地方,延緩不必要功能的實現可以降低開發和維護成本,並且可以避免過早地進行精確的介面和行為設計。定義46 如果有效實現定義在乙個物件上的操...

《大規模C 程式設計》讀書筆記24

technorati 標籤 c 大規模c 程式設計,讀書筆記 原則92 可讀性 不僅僅是易用性 應該是使用運算子過載的主要原因。指導方針11 乙個過載運算子的語義對客戶應該是自然的 明顯的和直觀的。指導方針12 使用者自定義型別的過載運算子的語法屬性,應該反映已經為基本型別定義了的屬性。原則93 讓...