Chinaunix首页 | 论坛 | 博客
  • 博客访问: 66470
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 93
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-10 22:49
个人简介

为共产主义事业不懈奋斗!!!加油!!!

文章分类

全部博文(14)

文章存档

2014年(11)

2013年(3)

我的朋友

分类: C/C++

2014-01-01 11:37:31

1.二维数组的真正含义:它的第一维就是一组数据的起始地址,第二维就是某组数据中的某个值.

2.if语句中不可以用a>b>c这种写法,编译不会出错,很难检查!!!

3.求最大公约数用辗转相除法:大对小求余,小对余求余,直到余数为0。

4.在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,
  以减少 CPU 跨切循环层的次数

5.如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面.

6.建议 for 语句的循环控制变量的取值采用“半开半闭区间”写法.

7.使用switch时不要忘记最后那个 default 分支。即使程序真的不需要 default 处理,
  也应该保留语句 default : break;

8.枚举常量不会占用对象的存储空间,它们在编译时被全部求值。枚举常量的缺点是:
它的隐含数据类型是整数,其最大值有限,且不能表示浮点数(如 PI=3.14159)

9.函数接口的两个要素是参数和返回值。C 语言中,函数的参数和返回值的传递方式有两种:
  值传递(pass by value)和指针传递(pass by pointer)。
  C++ 语言中多了引用传递(pass by reference)

10.函数的功能要单一,不要设计多用途的函数。

11.函数体的规模要小,尽量控制在 50 行代码之内。

12.尽量避免函数带有“记忆”功能。在 C/C++语言中,函数的 static 局部变量是
   函数的“记忆”存储器。建议尽量少用 static 局部变量,除非必需。

13.用于出错处理的返回值一定要清楚,让使用者不容易忽视或误解错误情况。

14.使用“断言”时,要加上清晰的注释。

15.在函数的入口处,使用断言检查参数的有效性(合法性)。

16.引用的一些规则如下:
  (1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
  (2)不能有 NULL 引用,引用必须与合法的存储单元关联(指针则可以是 NULL)。
  (3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。

17.如果的确只需要借用一下某个对象的“别名”,那么就用“引用”,而不要用“指针”,
   以免发生意外。(43页)

18.用 free 或 delete 释放了内存之后,立即将指针设置为 NULL,防止产生“野指针”.

19.数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,
   只有数组的内容可以改变。(与指针不同,不可以为数组等同指针)

20.用函数返回值来传递动态内存这种方法虽然好用,但是常常有人把 return 语句用错
   了。这里强调不要用 return 语句返回指向“栈内存”的指针(数组),因为该内存在
   函数结束时自动消亡 。(p49)

21.指针变量在创建的同时应当被初始化,要么将指针设置为 NULL,要么让它指向合法的内存。p51

22.指针 p 被 free 或者 delete 之后,要置为 NULL。


高质量C/c++编程指南—林锐.pdf

阅读(1186) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~