從缺陷中學習C/C++

從缺陷中學習C/C++ pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:
出品人:
頁數:166
译者:
出版時間:2013-9-1
價格:0
裝幀:平裝
isbn號碼:9787115321596
叢書系列:
圖書標籤:
  • C++
  • 編程
  • C
  • 編程語言
  • 技術
  • C/C++
  • 程序設計
  • 程序設計語言
  • C語言
  • 缺陷
  • 學習
  • 編程
  • 錯誤處理
  • C++
  • 代碼優化
  • 調試
  • 軟件工程
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

C/C++是廣泛用於係統和應用軟件開發的語言,也是使用最為廣泛的編程語言。C/C++易學難用,尤其C++,經過20多年的發展,已經變得非常復雜,給編程人員帶來瞭很大的挑戰。那麼如何在工程項目中用好C/C++語言、如何繞過Bug構建穩定可靠的生産係統、如何以最快速度全麵瞭解C/C++編程中的陷阱和障礙,編寫齣健壯可靠的代碼呢?《從缺陷中學習C/C++》將通過102個案例,幫助程序員盡快從新手成長為專傢。案例涵蓋基礎問題、編譯問題、庫函數問題、文件處理、類和對象、內存使用、多綫程問題、性能問題等。讀者每掌握一個案例就掌握瞭一個或幾個知識點,就能避免一類問題。由於是從大量編程中總結齣來的具體Bug案例中學習,這種學習方式更直接,讓人印象更深刻。《從缺陷中學習C/C++》將為你成為C和C++高手、編寫齣完美的程序助一臂之力。

《從缺陷中學習C/C++》適閤程序員、測試人員以及C和C++初學者使用,也可以作為各大專院校和培訓學校的教學用書。

著者簡介

圖書目錄

第1章 基礎問題 1
1.1 運算符優先級引起的問題 1
1.2 不加括號的宏定義引起的錯誤 2
1.3 汙染環境的宏定義 3
1.4 多語句宏定義使用錯誤 4
1.5 char轉為int時高位符號擴展的問題 6
1.6 int轉為char時的數據損失 7
1.7 非法的數組下標 9
1.8 有符號int與無符號int比較的後果 10
1.9 有符號的睏惑 11
1.10 整除的精度問題 13
1.11 浮點數比較的精度問題 14
1.12 最小負整數取相反數溢齣 15
1.13 臨時變量溢齣 16
1.14 size_t導緻的死循環 17
1.15 誤用short引起緩衝區溢齣 18
1.16 區分continue和return 20
1.17 指針常量和常量指針的區彆 21
1.18 字符數組和指針不總是等價的 23
1.19 結構體成員變量初始化的隱患 24
1.20 返迴值非void的函數沒有返迴值 25
1.21 cin>>和getline混用導緻的奇怪問題 27
1.22 小結 29
第2章 編譯問題 30
2.1 動態鏈接庫加載錯誤版本 30
2.2 相同名稱靜態庫的鏈接順序 32
2.3 使用命名空間來區分不同cpp中的同名類 33
2.4 C++模闆編譯時依賴名稱查找 34
2.5 違背ODR原則可能會帶來的意想不到的問題 36
2.6 變量共用內存時使用O2優化編譯 38
2.7 小結 40
第3章 庫函數問題 41
3.1 sprintf函數引起的緩衝區溢齣 41
3.2 snprintf函數format參數的問題 43
3.3 錯誤使用snprintf函數返迴值 44
3.4 字符串復製不完整 45
3.5 string類的c_str方法使用不當 46
3.6 string類的“[]”操作符使用不正確 48
3.7 不正確的字符串比較 49
3.8 strncpy函數沒有復製結束符 51
3.9 調用memcpy函數前未初始化緩衝區 52
3.10 誤用sizeof操作符取字符串長度 53
3.11 string類find函數返迴值判定 54
3.12 stringstream的清空 56
3.13 調用strptime函數前需初始化tm 57
3.14 使用feof函數的陷阱 59
3.15 for循環中調用vector容器insert函數 60
3.16 multiset容器erase函數的誤用 62
3.17 慎用容器類erase函數的返迴值 63
3.18 for循環中調用vector容器erase函數 65
3.19 getopt函數參數問題 67
3.20 不用errno判斷係統調用是否成功 69
3.21 strcat函數造成的段錯誤 70
3.22 危險的strdup函數 71
3.23 小結 73
第4章 文件處理 74
4.1 程序異常退齣時未關閉已打開文件 74
4.2 目錄打開後未關閉 75
4.3 寫文件沒有調用fflush 76
4.4 讀文件fread的返迴值不能忽略 77
4.5 getline()使用不當導緻的死循環 78
4.6 未重置流狀態導緻讀文件錯誤 80
4.7 小結 82
第5章 類和對象 83
5.1 對象的淺復製 83
5.2 構造函數中的操作符重載 85
5.3 拷貝構造函數不能模闆化 87
5.4 析構函數未捕獲異常引發coredump 89
5.5 構造函數中拋齣異常引起內存泄露 91
5.6 多態性未生效 93
5.7 基類成員函數被隱藏 94
5.8 匿名對象引起的內存泄露 96
5.9 基類非虛析構函數引發內存泄露 97
5.10 刪除void*指針引發內存泄露 100
5.11 STL容器不會自動釋放指針指嚮的對象 102
5.12 靜態成員類內初始化 104
5.13 union作為類的成員時需要構造函數 105
5.14 成員函數尾部缺失const標注 107
5.15 使用memset初始化class 109
5.16 dynamic_cast轉換失敗返迴NULL 110
5.17 小結 113
第6章 內存使用 114
6.1 數組越界 114
6.2 數組定義和值初始化形式混淆 115
6.3 數組傳參時的sizeof 116
6.4 臨時對象的生存期 117
6.5 變量的作用域 119
6.6 指針變量的傳值和傳址 120
6.7 指針賦值和指針賦址的混淆 121
6.8 指針釋放後再次使用 122
6.9 重復申請內存未釋放 124
6.10 delete與delete[]的區彆 126
6.11 函數中途退齣忘記釋放內存 126
6.12 二維數組的內存泄露 127
6.13 臨時變量內存不能返迴 128
6.14 正確使用引用參數和引用返迴值 129
6.15 試圖産生的指針很可能不存在 130
6.16 結構體成員內存對齊問題 131
6.17 String對象何時需delete 134
6.18 小結 135
第7章 多綫程問題 136
7.1 局部靜態變量非綫程安全 136
7.2 string類append操作非綫程安全 138
7.3 中途退齣造成的綫程阻塞 142
7.4 結構體位域成員綫程安全問題 144
7.5 多綫程寫文件引發內容被覆蓋 146
7.6 綫程未join引起的內存泄露 148
7.7 小結 150
第8章 性能問題 151
8.1 strlen用作循環條件影響性能 151
8.2 STL容器list使用時忌頻繁調用size() 152
8.3 誤用clear迴收vector內存 154
8.4 calloc在glibc高版本下性能劣於低版本下 156
8.5 小結 157
第9章 C/C++編程中其他問題 158
9.1 中文截斷成亂碼 158
9.2 不必要的類型轉換 159
9.3 不確定的函數參數賦值 161
9.4 epoll邊沿觸發模式下的陷阱 163
9.5 小結 166
· · · · · · (收起)

讀後感

評分

里面的很多坑都是我们曾经经历过的,有一些是即将经历的:-) 给出我的读书笔记 http://www.hackers-delight.com/2013/11/06/%E4%BB%8E%E7%BC%BA%E9%99%B7%E4%B8%AD%E5%AD%A6%E4%B9%A0cc%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/  

評分

今年刚工作,做linux c++服务端开发。以前C++只是学过,用它写过一些玩具代码,没有做过实际的项目。需要有几本书,可以快速提升自己写代码的能力,这本书正好比较适合我。花了两个星期看完了,谈一下自己的感想。 这本书是相当于是一本C/C++编程错误的集合,并且教你如何避免...  

評分

初学编程,新码农看看吧。 你的评论太短啦。再多写几句吧 比某些面试题的坑人性多了。。。 价格太贵。39块/1小时..

評分

里面的很多坑都是我们曾经经历过的,有一些是即将经历的:-) 给出我的读书笔记 http://www.hackers-delight.com/2013/11/06/%E4%BB%8E%E7%BC%BA%E9%99%B7%E4%B8%AD%E5%AD%A6%E4%B9%A0cc%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/  

評分

今年刚工作,做linux c++服务端开发。以前C++只是学过,用它写过一些玩具代码,没有做过实际的项目。需要有几本书,可以快速提升自己写代码的能力,这本书正好比较适合我。花了两个星期看完了,谈一下自己的感想。 这本书是相当于是一本C/C++编程错误的集合,并且教你如何避免...  

用戶評價

评分

都是小細節,都需要注意

评分

1、書比較薄166p,相比來說價格就貴瞭,就算我是27元到手。2. 排版還可以緊縮頁數我就不說瞭;3. 有些很初級選手的錯誤也堆積在書裏,比如strcat strcpy 這類的,把書中一個炸彈的刪掉,其他的減一顆炸彈纔好。總體評價3星就算我比較客氣瞭。

评分

都是小細節,都需要注意

评分

就是一個錯題集,不過其中有好多都沒用——一些不看不會想到、看瞭反而會犯的錯

评分

這就是本錯題集,看完能少趟很多坑,請配閤《effective c++》《more effective c++》一起看。明顯發現2個錯誤,strcmp的例子正確代碼還是那首地址第一個char比較,C++11中 iterator 已經統一可以用等於去接受erase返迴的下一個元素瞭, 最後吐槽書賣貴。。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有