从缺陷中学习C/C++PDF电子书下载
- 电子书积分:9 积分如何计算积分?
- 作 者:刘新浙,刘玲,王超等编著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2013
- ISBN:9787115321596
- 页数:166 页
第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 stmcpy函数没有复制结束符 51
3.9调用memcpy函数前未初始化缓冲区 52
3.10误用sizeof操作符取字符串长度 53
3.11 string类find函数返回值判定 54
3.12 stringstream的清空 56
3.13调用strptime函数前需初始化trm 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不用ermo判断系统调用是否成功 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
- 《中学语文教学案例研究》贺卫东主编 2019
- 《中学物理奥赛辅导:热学 光学 近代物理学》崔宏滨 2012
- 《张道真英语用法 中学生精华版》张道真著 2018
- 《中学化学课程与教学论》宋怡主编 2019
- 《中学物理实验教学行为的研究》华雪侠著 2019
- 《新课标中学地理图文详解指导地图册 浙江专版 第4版》谭木主编;谭木高考复习研究室编 2015
- 《中学历史教师素养研究》李漱萍著 2019
- 《思维导图作文 中学生作文辞海》李继勇 2020
- 《中学物理实验技能训练教程》付丽萍 2019
- 《“十三五”中小学教师培训教材 教师教学基本能力解读与训练 中学美术》刘文军 2018
- 《断陷湖盆比较沉积学与油气储层》赵永胜等著 1996
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019