EffictiveC 的50條建議

2021-06-26 08:46:19 字數 1454 閱讀 2071

敬告:後面帶括號的條款都是我自己要看的標記,讀得時候把 ?掉就好

1、盡量使用const和inline而不使用#define

2、盡量使用而不是使用

3、盡量使用new和delete而不使用malloc和free

4、盡量使用c++風格的注釋

5、對應的new 和delete要採用相同的形式

6、析構函式裡對指標成員呼叫delete

7、預先準備好記憶體不夠的情況

8、寫operator new 和operator delete的時候要遵循常規

9、避免隱藏標準式的new

10、如果寫了operator new就要寫operator delete

11、為需要動態分配記憶體的類宣告乙個拷貝建構函式和乙個賦值操作符

12、盡量使用初始化而不是在建構函式裡賦值 ?

13、初始化列表中成員列出的順序和他們在類宣告的的順序相同

14、確定基類中虛析構函式

15、讓operator=返回*this的引用 ?

16、在operator=中對所有的成員賦值

17、在operator=中檢查給自己賦值的情況

18、爭取使類的藉口完整而且小

19、分清成員函式,非成員函式和友元函式 ?

20、避免public藉口出現資料成員

21、盡可能使用const ?

22、盡量使用傳引用為不使用傳值

23、必須返回乙個物件的時候不要試圖返回乙個引用 ?

24、在函式過載和設定引數預設值間慎重選擇

25、避免對指標和數字型別過載

26、當心潛在的二義性

27、如果不想隱式的生成函式就要顯示的禁止它 ?

28、劃分全域性名字空間 ?

29、避免返回內部資料的控制代碼 ?

30、避免這樣的成員函式:其返回值是指向成員的非const指標或引用,但成員的訪問級別比這個函式低 ?

31、千萬不要返回區域性物件的引用,也不要返回函式內部用new初始化的指標的引用

32、盡可能的推遲變數的定義 ?

33、明智的使用內聯

34、將檔案的變異依賴性降至最低

35、使共有繼承體現是乙個的含義

36、區分介面繼承和實現繼承

37、絕不要重新定義繼承而來的非虛函式

38、絕不要重新定義繼承而來的預設引數值

39、避免向下轉向繼承層次

40、通過分層來體現「有乙個」或「用乙個。。來實現」

41、區分繼承和模板

42、明智的使用私有繼承

43、明智的使用多繼承 ?

44、說你想說的;理解你所說的

45、弄清c++在幕後為你所寫、所呼叫的函式

46、寧可編譯和鏈結時出現錯誤也不要執行時出錯

47、確保非區域性靜態物件在使用前被初始化

48、重視編譯器警告

49、熟悉標準庫 ?

50、提高對c++的認識 ?

學習C 的50條警言

初學者學習c 的50條忠告 經典 1.把c 當成一門新的語言學習 和c沒啥關係!真的。2.看 thinking in c 不要看 c 變成死相 3.看 the c programming language 和 inside the c object model 不要因為他們很難而我們自己是初學者所以...

學習C 的50條忠告

1.把c 當成一門新的語言學習 2.看 thinking in c 不要看 c 變成死相 3.看 the c programming language 和 inside the c object model 不要因為他們很難而我們自己是初學者所以就不看 4.不要被vc bcb bc mc tc等詞彙...

學習C 的50條忠告

1.把c 當成一門新的語言學習 2.看 thinking in c 不要看 c 變成死相 3.看 the c programming language 和 inside the c object model 不要因為他們很難而我們自己是初學者所以就不看 4.不要被vc bcb bc mc tc等詞彙...