一、#include “filename.h”和#include <filename.h>的区别 SvAz9>N4
`w@fxv
#include “filename.h”是指编译器将从当前工作目录上开始查找此文件 )mB+#T<k-
PX(.bP2^Lq
#include <filename.h>是指编译器将从标准库目录中开始查找此文件 j S')!Wcu
=KmjCz:
XtNe) Ry
二、头文件的作用 bb$1RLyRL
oS/<)>\Gv
加强安全检测 V Z}^1e
ul?'kuYk
通过头文件可能方便地调用库功能,而不必关心其实现方式 8QE0J$d5
l-XiQ#-{
{uL<$;#i
三、* , &修饰符的位置 :7e2O!zH_
ya5;C"
对于*和&修饰符,为了避免误解,最好将修饰符紧靠变量名 pTST\0?
Um4
} `
/$! /F@^
四、if语句 6sRn_y
gJ+MoAM"
不要将布尔变量与任何值进行比较,那会很容易出错的。 p=coOWOQ
gvr"F
整形变量必须要有类型相同的值进行比较 & *B@qQ
AGx]srl
浮点变量最好少比点,就算要比也要有值进行限制 a"b9h{h@
9<.FwV>
指针变量要和NULL进行比较,不要和布尔型和整形比较 F6}Pwz[c
DFwkd/3"
,1Suq\
L
五、const和#define的比较 c;&m}ImLe.
q<@f3[A
const有数据类型,#define没有数据类型 \"V7O'S)&
zKx?cEpE
个别编译器中const可以进行调试,#define不可以进行调试 kmi[u8iXD_
?#<Fxme
在类中定义常量有两种方式 w_ kHy_)
IwZn%>1N
1、 在类在声明常量,但不赋值,在构造函数初始化表中进行赋值; {e/12q
]-bA{@tP.
2、 用枚举代替const常量。 R."<he ;
Agl5[{]E
(WVN*OR?
六、C++函数中值的传递方式 "
nq4!
`a["`N^
有三种方式:值传递(Pass by value)、指针传递(Pass by pointer)、引用传递(Pass by reference) dFjB &#Tl
f h)Cz)
void fun(char c) //pass by value 2ELw}9
2_x}wB0P
void fun(char *str) //pass by pointer _ ;O$ot\5
)r~$N0\D
void fun(char &str) //pass by reference %DqF_4U 9
J|W~\(W6i
如果输入参数是以值传递的话,最好使用引用传递代替,因为引用传递省去了临时对象的构造和析构 ? #-"YO7
3=o3VGZP
函数的类型不能省略,就算没有也要加个void U)=StpTT
B0?E$8a
"6['!rq0
七、函数体中的指针或引用常量不能被返回 ^'lx5+-
Dq)V] Zx
Char *func(void) UAFl+d!
yc8iT`
{ ^+F@KXnL
we4e>)
char str[]=”Hello Word”; 8Focs p2
TbXp%O:[W
//这个是不能被返回的,因为str是个指定变量,不是一般的值,函数结束后会被注销掉 )TP1i
-;a}'1HOE
return str; [<