一、#include “filename.h”和#include <filename.h>的区别 T>2_ r6;
/pS Y ~*
#include “filename.h”是指编译器将从当前工作目录上开始查找此文件 o1zKns?
nkAS]sC
#include <filename.h>是指编译器将从标准库目录中开始查找此文件 ;bhD:$NB X
GLE/ 1
(764-iv(
二、头文件的作用 .L#U^H|
X&14;lu%p
加强安全检测 N0_@=uE
9 m`VIB
通过头文件可能方便地调用库功能,而不必关心其实现方式 o/~Rf1
n/Fx2QC{
me@xl}
三、* , &修饰符的位置 \\UOpl
mx3p/p
对于*和&修饰符,为了避免误解,最好将修饰符紧靠变量名 DP5}q"l
qb1JE[2F
EwX:^1f
四、if语句 QopA'm
RR9G$}WS(
不要将布尔变量与任何值进行比较,那会很容易出错的。 cy
@",z
eOU v#F
整形变量必须要有类型相同的值进行比较 |\3X7)^8D
vg;9"A!(
浮点变量最好少比点,就算要比也要有值进行限制
uoi~JF
1 ` ={**
指针变量要和NULL进行比较,不要和布尔型和整形比较 ' |Ia-RbX
DICS6VG}
Nm4
h
五、const和#define的比较 Mv\]uAT`
_A]=45cn~
const有数据类型,#define没有数据类型 f)#rBAkt
oj%(@6L
个别编译器中const可以进行调试,#define不可以进行调试 yp
l`vJ]X
f{+n$Cos
在类中定义常量有两种方式 >1S39n5z.
we}G%09L
1、 在类在声明常量,但不赋值,在构造函数初始化表中进行赋值; bBg=X}9
={[9kR i
2、 用枚举代替const常量。 ;5!M+nk
*wp>a?sG\
Pe?=M[u2
六、C++函数中值的传递方式 b;jr;I
,0\Pr
有三种方式:值传递(Pass by value)、指针传递(Pass by pointer)、引用传递(Pass by reference) |!hN!j*)
BBDt^$
void fun(char c) //pass by value 88g|(k/
Scd_tw.]|
void fun(char *str) //pass by pointer pKNrEq
:J;&Z{
void fun(char &str) //pass by reference v\3$$T)
(,^jgv|I
如果输入参数是以值传递的话,最好使用引用传递代替,因为引用传递省去了临时对象的构造和析构 J-5E# v
lOEB ,/P
函数的类型不能省略,就算没有也要加个void /vNHb_-
R4g;-Ci->
&ieb6@RO`Q
七、函数体中的指针或引用常量不能被返回 t~_bquGk
'LMMo4o3
Char *func(void) /zg|I?$>Z4
+nz0ZQ9 a
{ vM?jm!nd
D]'/5]~z<
char str[]=”Hello Word”; Pq3m(+gf
D* QZR;D#.
//这个是不能被返回的,因为str是个指定变量,不是一般的值,函数结束后会被注销掉 QE4TvnhK
s`I]>e
return str; )MeeF-Ad6
=`E{QCW
} Ef\&