本文共 1050 字,大约阅读时间需要 3 分钟。
最近在读高质量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 释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也 最多。
转载地址:http://ywklf.baihongyu.com/