Posted on 2008-09-10 11:06
花之剑 阅读(275)
评论(0) 编辑 收藏 所属分类:
c/c++ & algorithm
- 如果输入参数以值传递的方式传递对象,则宜改用“const &”方式来传递,这样可以省去临时对象的构造和析构过程,从而提高效率。
- 类中的const 常量必须在构造函数中赋值
- bool ,int ,char*比较要有区分,不能全部千篇一律
- 不仅要检查输入参数的有效性,还要检查通过其它途径进入函数体内
的变量的有效性,例如全局变量、文件句柄等
- 关于const 引用传参数的用法,如果在函数参数传入const Plaayer& ply,那么在该函数里面,ply调用的只能是const 成员函数,而不能是其他非const 函数,否则编译将不通过,因为ply是const 引用,也就是它内存块中的东西是不允许改变的,只有使用const成员函数才能够运行。
- 为什么有的时候会看到在定义函数的时候,参数写成 cosnt int& i呢,开始很不理解,既然不想让i改变,那只要传值就能做到,其实这样做至少有两个好处。第一,传引用能够减少在函数内的临时变量的构造,拷贝和析构的时间,如果是大的结构体效果更加明显。第二:用引用,如果你在函数内改变了该值,编译器将报错,如过时传值,编译器不会报错,甚至警告都不会报,这样导致你不能发现自己的问题。因此 const 引用还是比较有必要的。