2024香港最具教育競爭力中學/小學/幼稚園50強龍虎榜
2024香港最具教育競爭力中學/小學/幼稚園排名指南
最近十一年香港最具教育競爭力中學/小學/幼稚園50強完整版榜單:
2024202320222021/202019201820172016201520142013
教育競爭力評比體系說明
校風評比體系說明
服务全球华人的中英文書籍網上書店
您的購物車是空的

C++語言99個常見編程錯誤

  • 作者:(美) (杜赫斯特Dewhurst) (S.C) 著 高博 譯
  • 出版社: 清華大學出版社
  • 出版時間:2009-08-01
  • 版次:1
  • 商品編號: 10080037

    頁數:275

    印次:1

    印刷時間:2009-08-01


HK$66.70 (速遞費用須知)
購買額滿HK$158免運費
免郵費優惠僅限香港、澳门、
台灣及中國大陸

購買數量:

內容簡介

 

《C++語言99個常見編程錯誤》是C++大師Stephen C. Dewhurst在多年教授C++課程中所遇到的常見錯誤的心得筆記上編寫而成的。《C++語言99個常見編程錯誤》所有章節都從一個眾所周知的、在日常編碼或設計實踐經常遭遇的問題入手,先指出其不足,再對其背後思想中存在的合理與不合理之處深入剖析,最後取其精華棄其糟粕,給出一個簡潔、通用、美輪美奐的方案,指出有關如何規避或糾正它們的建議,從而有助於C++軟件工程師避免重蹈他們前輩的覆轍。

作者簡介

  Stephen C. Dewhurst,是貝爾實驗室裡最早使用C++語言的人之一。他將C++應用於編譯器設計、電子商務、嵌入式通信等領域已有18年以上的經驗。他是「Programming in C++」一書的合作者,是「C/C++Users Journal」雜誌的編輯,是「C++ Report」的專欄作家。他是兩個C++編譯器的作者,發表過大量有關編譯器設計和C++語言編程技巧的論文。

目錄

譯者序:技術翻譯——一種筆記體式的創作嘗試
第1章 基礎問
常見錯誤1:過分積極的註釋
常見錯誤2:幻數
常見錯誤3:全局變量
常見錯誤4:未能區分函數重載和形式參數默認值
常見錯誤5:對引用的認識誤區
常見錯誤6:對常量(性)的認識誤區
常見錯誤7:無視基礎語言的精妙之處
常見錯誤8:未能區分可訪問性和可見性
常見錯誤9:使用糟糕的語言
常見錯誤10:無視(久經考驗的)習慣用法
常見錯誤11:聰明反被聰明誤
常見錯誤12:嘴上無毛,辦事不牢

第2章 語法問題
常見錯誤13:數組定義和值初始化的語法形式混淆
常見錯誤14:捉摸不定的評估求值次序
常見錯誤15:(運算符)優先級問題
常見錯誤16:for 語句引發的理解障礙
常見錯誤17:取大優先解析原則帶來的問題
常見錯誤18:聲明飾詞次序的小聰明
常見錯誤19:「函數還是對象」的多義性
常見錯誤20:效果漂移的類型量化飾詞
常見錯誤21:自反初始化
常見錯誤22:靜態連接類型和外部連接類型
常見錯誤23:運算符函數名字查找的反常行為
常見錯誤24:晦澀難懂的operato->

第3章 預處理器問題
常見錯誤25:使用≠}denne定義的字面量
常見錯誤26:使用#define定義的偽函數(函數宏)
常見錯誤27:≠if的濫用
常見錯誤28:斷言(assert宏)的副作用

第4章 類型轉換問題
常見錯誤29:以void*為類型轉換的中介類型
常見錯誤30:截切問題
常見錯誤31:對目標類型為指涉物為常量的指針類型的類型轉換的認識誤區
常見錯誤32:對以指涉物為指向常量的指針類型的
類型為目標類型的類型轉換的認識誤區
常見錯誤33:對以指涉物為指向基類類型的指針類型的
類型為目標類型的類型轉換的認識誤區
常見錯誤34:指向多維數組的指針帶來的問題
常見錯誤35:未經校驗的向下轉型
常見錯誤36:類型轉換運算符的誤用
常見錯誤37:始料未及的構造函數類型轉換
常見錯誤38:在多繼承條件下進行強制類型轉換
常見錯誤39:對非完整類型做強制類型轉換
常見錯誤40:舊式強制類型轉換
常見錯誤41:靜態強制類型轉換
常見錯誤42:形式參數引發臨時對象生成的初始化
常見錯誤43:臨時對象的生存期
常見錯誤44:引用和臨時對象
常見錯誤45:(動態強制類型轉換運算符)dynamic-cast帶來的多義性解析失敗
常見錯誤46:對逆變性的誤解

第5章 初始化問題
常見錯誤47:賦值與初始化混淆
常見錯誤48:位於非適當作用域的變量
常見錯誤49:未能意識到C++語言中複製操作的固守行為
常見錯誤50:按位複製的class對象
常見錯誤5l:未能區分構造函數中的初始化和賦值
常見錯誤52:未能在成員初始化列表中保持次序一致性
常見錯誤53:對於虛基類(子對象)進行默認初始化
常見錯誤54:複製構造函數對基類子對象初始化的未預期行為
常見錯誤55:運行期靜態初始化次序
常見錯誤56:直接與複製初始化
常見錯誤57:對參數的直接初始化
常見錯誤58:無視返回值優化
常見錯誤59.在構造函數申初始化靜態(數據)成員

第6章 內存和資源管理問題
常見錯誤60:未能區分純量與數組的內存分配機制
常見錯誤61:內存分配失敗校驗
常見錯誤62:(用自定義版本)替換全局的內存管理運算符(所調用的函數)
常見錯誤63:成員版本的operatornew和operatordelete的作用域和調用機制混淆
常見錯誤64:拋出字符串字面常量(作為異常對象)
常見錯誤65:未能正確理解和利用異常處理機制
常見錯誤66:濫用局部量地址
常見錯誤67:未能採用RAII(資源獲取即初始化)習慣用法
常見錯誤68:對autoptr的誤用

第7章 多態問題
常見錯誤69:類型特徵碼
常見錯誤70:將基類析構函數聲明為非虛函數
常見錯誤71:對非虛(成員)函數的遮掩
常見錯誤72:(以)過分靈活的(方式濫用)模板方法設計模式
常見錯誤73:重載虛函數
常見錯誤74:為參數指定默認初始化物的虛函數
常見錯誤75:在構造函數和析構函數中調用虛函數
常見錯誤76:虛賦值
常見錯誤77:未能區分(函數的)重載、改寫和遮掩
常見錯誤78:未能深入理解虛函數和改寫的實現機制
常見錯誤79:支配原則議題

第8章 類型設計問題
常見錯誤80:取/設狀態接口
常見錯誤81:常量和引用數據成員
常見錯誤82:未能理解常量成員函數
常見錯誤83:未能區分強聚合和弱聚合
常見錯誤84:非適當的運算符重載
常見錯誤85:(運算符)優先級和重載
常見錯誤86:友元與成員運算符
常見錯誤87:自增/自減運算符的問題
常見錯誤88:對模板化的複製操作的認識誤區

第9章 繼承譜系設計問題
常見錯誤89:持有class對象的數組
常見錯誤90:非適當的容器類型之可替換性
常見錯誤9l:未能理解protected訪問層級
常見錯誤92:為代碼復用而以public方式繼承
常見錯誤93:以public方式繼承抽象類
常見錯誤94:未能運用繼承譜系的退化形式
常見錯誤95:繼承的濫用
常見錯誤96:依類型分派的控制結構
常見錯誤97:單根譜系
常見錯誤98:向class對象打探隱私
常見錯誤99:權能查詢問題
中英文術語對照表


我們接受以下的付款方式︰VISA、Mastercard、JCB 信用卡、PayPal、銀行轉帳。