一、#include “filename.h”和#include <filename.h>的区别 % I;iP|/
m>-(c=3
#include “filename.h”是指编译器将从当前工作目录上开始查找此文件 9h'klaE(
e[J0+
x#;r
#include <filename.h>是指编译器将从标准库目录中开始查找此文件 }aa ~@K<A
VK?c='zg
VTxLBFK;
二、头文件的作用 qEB]Tj e[
u6BLhyS
加强安全检测 #zc{N"!
`xd{0EvF
通过头文件可能方便地调用库功能,而不必关心其实现方式 cG I^IPI
R(F+Xgje
OcGHMGdn
三、* , &修饰符的位置 $5a%hK
U^{'"x+
对于*和&修饰符,为了避免误解,最好将修饰符紧靠变量名 7=x]p
3QzHQU
>L>t$1hXM
四、if语句 3re|=_
Hy
'1yy&QUZq
不要将布尔变量与任何值进行比较,那会很容易出错的。 YPqp#X*
e6WKZ~
vo
整形变量必须要有类型相同的值进行比较 . ;q4<_
@q]{s+#Xf
浮点变量最好少比点,就算要比也要有值进行限制 fd Rw:K8
G\:^9!nwY~
指针变量要和NULL进行比较,不要和布尔型和整形比较 _oJq32
53cW`F
)Vb_0 n=^
五、const和#define的比较 #D&]5"0cX
X#*|_(^
const有数据类型,#define没有数据类型 C4~`3Mk
+aWI"d--h
个别编译器中const可以进行调试,#define不可以进行调试 "'
hc)58y
T7{Z0-
在类中定义常量有两种方式 E)dV;1t
DdL0MGwX
1、 在类在声明常量,但不赋值,在构造函数初始化表中进行赋值; U,4:yc,)s
//}[(9b'\
2、 用枚举代替const常量。 U{2UKD@PM
1wpeYn7>W
jWd 7 >1R?
六、C++函数中值的传递方式 !`G7X
@]H:=Q'gj
有三种方式:值传递(Pass by value)、指针传递(Pass by pointer)、引用传递(Pass by reference) 9j[%Y?
pGy(JvMw"
void fun(char c) //pass by value {1y-*@yU(
4#z@B1Jx
void fun(char *str) //pass by pointer OwwlQp ~!J
\Om<
FH}
void fun(char &str) //pass by reference z Lw=*
y#3mc#)k
如果输入参数是以值传递的话,最好使用引用传递代替,因为引用传递省去了临时对象的构造和析构 /2&