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

2021-06-16 00:18:49 字數 322 閱讀 4746

原則41:啞資料可以用來打破in-name-only依賴,促進易測試性和減少實現的大小,但是,不透明指標可以同時保持型別安全和封裝;而啞資料通常是不能的。

例子:用整數作為索引,而不是用迭代器訪問容器內的資料。該索引只在乙個有限的上下文中有意義。

應用環境:某些引用在子系統的較低層次不必解釋,而只在某個(通常)較高層次的物件的上下文中解釋。在這種受約束的上下文中,儘管會損害型別安全和封裝,但實現可以更簡潔。啞資料的使用是典型的低層次實現細節,通常不會暴露在較高層次子系統的介面中。

technorati : c++, 大規模c++程式設計, 讀書筆記

《大規模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 讓...