1、內部鏈結,外部鏈結
比如a.cpp中
void test(){}
在b.cpp中看似訪問不到test,我們只需要在b.h中定義乙個
void test();
然後在b.cpp中就能夠訪問到了,鏈結的時候編譯器會鏈結到a.cpp的test函式的
能夠申明為內部鏈結是最好的了
extern 乙個變數就表示從其它地方引入乙個外部鏈結的符號了
2、邏輯設計
弱包含:b的介面中使用a,但是a不屬於b的私有成員變數
強包含:b成員變數中包含了a。強包含又有hold和has。a的型別是指標,就是holds,是型別就是has了
3、設計的一些基本規則
3.1 類最小化,不要為了滿足所有使用者的需求去設計類。要滿足大部分使用者的重要介面
3.2 保持資料成員私有,這個沒什麼好說的了
防止全域性名字衝突(3.3~3.4)
3.3 避免在檔案作用域內包含帶有外部鏈結的資料。包括全域性變數,全域性函式。
全域性變數通過封裝在struct中,提供介面,單件去改變
全域性函式通過將各個函式放在class中,static的方式去訪問
3.4 避免在h檔案的檔案作用域內使用列舉,typedef和常量資料
通過將列舉定義在struct或class內解決,常量資料通過定義在該struct的static變數解決
如果能定義在cpp中是更好了
3.5 標頭檔案中的巨集定義衛哨。另外冗餘的包含衛哨可以減少標頭檔案開啟次數
3.5 命名規範,需要區分如下型別即可
使用乙個一致的方法突出類資料成員
使用乙個一致的方法區分型別名字(class,struct)
使用乙個一致的方法區分列舉,常量和預處理器等不變的值
Axure RP 第一部分
axure rp是乙個專業的快速原型設計工具。axure 發音 ack sure 代表美國axure公司 rp則是rapid prototyping 快速原型 的縮寫。axure rp是美國axure software solution公司旗艦產品,是乙個專業的快速原型設計工具,讓負責定義需求和規格...
第一部分 初識Solr
第一章 solr簡介 這章主要包括內容 這本書講述nosql技術,apache solr 像它的非關係模式兄弟一樣,針對於某些問題進行了優化。特別的,solr在處理企業級大量資料 及時搜尋 文字資料 返回相關性結果等方面進行了很大優化。這裡說的只是冰山一角,讓我們從下面幾方面來進行詳細敘說 solr...
css排雷第一部分
import url basic.css warning urgent plant moons plant moons 1 a href span title feature lang en 選出屬性等於lang或者以lang開頭的所有元素。選擇h1 strong 可以解釋為選擇h1字元素中的所有s...