《编写高质量代码:改善C++程序的150个建议》读书笔记2
来源:互联网 发布:软件脱壳教程 编辑:程序博客网 时间:2024/05/16 11:34
1. 明白在C++中如何使用C。
C++继承了很多C语言的特性,但是有一些还是没有继承到,或者有改进。
C++和C语言的编译和链接的方式不同,例如对应
int Function(int a, float b);这样的函数,C编译器得到的符号是_Function,而C++特别强调类型安全,因此编译后的符号可能是_Function_int_float这样的形式。
给予以上的原因,C++使用了extern "C“这样的链接指示,来协调C++中使用C语言代码或库。
2. 使用memcpy()等函数时要小心。
主要的原因是C++中的多态引入了虚函数表,使得C++中的对象的数据是分散的,而memcpy()这类函数只能处理连续的数据对象。
3. 尽量使用new/delete来代替malloc/free。
原因主要有几点:
1) new/delete可以调用构造函数和析构函数;
2) new之后不需要再强制转换类型;
3) new失败会有回调函数,mallloc失败直接返回NULL。
4. 关于输出,建议使用#include <iostream>,cout <<。
然而实际的项目中,应该都有自己包装的输出函数吧?
5. 尽量使用C++风格的强制转换。
6. 尽量使用const/enum/inline替换#define。
关于enum有一个有意思的例子:
class CStudent {private:enum {NUM_LESSONS = 5};int scores[NUM_LESSONS];};这里使用了enum代替了原来#define做的事情。
7. 用引用替代指针。
0 0
- 《编写高质量代码:改善C++程序的150个建议》读书笔记2
- 《编写高质量代码:改善C++程序的150个建议》读书笔记1
- 《编写高质量代码:改善C++程序的150个建议》读书笔记3
- 《编写高质量代码:改善C++程序的150个建议》读书笔记4
- 《编写高质量代码:改善C++程序的150个建议》读书笔记6
- 读书笔记之《编写高质量代码:改善C#程序的157个建议》
- 《编写高质量代码:改善Java程序的151个建议》读书笔记二:基本类型
- 读书笔记--编写高质量代码 改善java程序的151个建议(一)基础
- 读书笔记--编写高质量代码:改善java程序的151个建议(四)String,StringBuilder,StringBuffer
- 读书笔记--编写高质量代码:改善java程序的151个建议(五)数组和集合
- 读书笔记--编写高质量代码 改善java程序的151个建议(六)枚举与注解
- 读书笔记--编写高质量代码 改善java程序的151个建议(八)异常
- 编写高质量代码--改善Java程序的151个建议--读书笔记
- 《编写高质量代码 : 改善C#程序的157个建议》读书笔记 1-10
- 《编写高质量代码 : 改善C#程序的157个建议》读书笔记 11-20
- 编写高质量代码-改善C++程序的150个建议-2
- 《编写高质量代码:改善C++程序的150个建议》读书笔记5(关于异常处理的部分)
- 《编写高质量代码:改善Java程序的151个建议》 建议2
- Memcache介绍
- 高并发性能调优
- UILabel 文字太长尾部显示"..."
- Linux磁盘编号
- xml文件解析(二)——运用libxml2库解析xml文件
- 《编写高质量代码:改善C++程序的150个建议》读书笔记2
- 使用过滤流DataOutputStream和DataInputStream对文件写入和读出
- 局部变量全局变量和动态分配的数据分别在内存中存放的位置
- 2015程序猴的总结:不破楼兰终不还!
- HDU 1905 Pseudoprime numbers (快速幂求余)
- 1032 Sharing
- 获取UILabel 的文字内容高度
- 计算机网络学习笔记----互联网分层及协议
- Scala写的wordcount