高质量C/C++编程指南读书笔记(1)

最近在读高质量C/C++编程指南,我只将一些我自己平时没有注意的东西记录下来。

这本书挺好的,推荐大家阅读。以下是我的读书笔记:

1.1版权和版本的声明
example:
/*************************************************
Copyright (C),fmh
File name: xxx.cpp
Author: fmh      Version: 1.0     Date: 2012.6.18
Description:   xxx的实现程序
*************************************************/

1.2头文件
防止头文件被重复引用
#ifndef HEADER_H
#define HEADER_H

#include ...

class A
{
};

#endif

2.2.1尽可能在定义变量的同时初始化该变量
局部变量如果未初始化,可能会导致程序错误。

4.4.2如果循环体内存在逻辑判断,并且循环次数很大,宜将判断移到
循环体的外面。效率高但程序不简洁。但效率的提高并不明显。

4.6.2switch语句不要忘记最后那个default分支。
4.6.3少用、慎用goto语句,而不是禁用。

6.1.1避免函数有太多的参数,参数个数尽量控制在5个以内。如果参
数太多,在使用时容易将参数类型或顺序搞错。

6.3.2return语句不可返回指向“栈内存”的“指针”或者“引用”,因为
该内存在函数体结束时被自动销毁。

6.4
函数的功能要单一,不要设计多用途的函数。
函数体的规模要小,尽量控制在50行代码之内。
不仅要检查输入参数的有效性,还要检查通过其他途径进入函数体内
的变量的有效性。

6.5使用断言
在函数的入口处,使用断言检查参数的有效性。

7.1内存分配方式有三种
(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,
这块内存在程序的整个运行期间都存在。例如:全局变量,static
变量。
(2)在栈上创建。在执行函数时,函数内部局部变量的存储单元
都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈
内存分配运算内置于处理器的指令集中,效率很高,但是分配的内
存容量有限。
(3)在堆上分配,也称动态内存分配。程序在运行的时候用malloc
或new申请任意多少的内存,程序员自己负责在何时用free或delete
释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也
最多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章