一、#include “filename.h”和#include <filename.h>的区别 n@te.,?A"
IzI2w6a
#include “filename.h”是指编译器将从当前工作目录上开始查找此文件 MHqk-4Mz
`k.0d`3(
#include <filename.h>是指编译器将从标准库目录中开始查找此文件 L/c`t7
M*
0zvNg
<ebC]2j8cK
二、头文件的作用 B{ tROuN<
5HC5
加强安全检测 OB4nE}NO
7U1^=Y@t}
通过头文件可能方便地调用库功能,而不必关心其实现方式 Ud& '*,
wx*03(|j;
SH6+'7
三、* , &修饰符的位置 %7hf6Xo=
V\nj7Gr:sF
对于*和&修饰符,为了避免误解,最好将修饰符紧靠变量名 ,(3oAj\
M(U<H;Csk
lj /IN[U/
四、if语句 =Cc]ugl7-
Y !%2vOt
不要将布尔变量与任何值进行比较,那会很容易出错的。 -, uT8'
{|B
2$1':
整形变量必须要有类型相同的值进行比较 25Uw\rKeO
[NoO A
浮点变量最好少比点,就算要比也要有值进行限制 .
e_VPKF|
cV4]Y(9
指针变量要和NULL进行比较,不要和布尔型和整形比较 tx7B?/5D
%v4*$E!f
VA5f+c/ %
五、const和#define的比较 2.
q\!V}yQ
a0&L,7mu<'
const有数据类型,#define没有数据类型 Q9Vj8JO"{
z?n6l7sH
个别编译器中const可以进行调试,#define不可以进行调试 qVssw* GDB
FQ>y2n=<d
在类中定义常量有两种方式 ye-[l7
?c<uN~fC=
1、 在类在声明常量,但不赋值,在构造函数初始化表中进行赋值; '#a;n
E[Q2ZqhgbP
2、 用枚举代替const常量。 q"i]&dMr
!u;gGgQF
a@^)?cH!z
六、C++函数中值的传递方式 w7c0jIf{
y~'%PUN
有三种方式:值传递(Pass by value)、指针传递(Pass by pointer)、引用传递(Pass by reference) D*/fY=gK
-/:!AxIH
void fun(char c) //pass by value OX7a72z
mNlbiB
void fun(char *str) //pass by pointer @KRia{
ZnBGNr
void fun(char &str) //pass by reference 9iV9q]($0
`>GXJ~:D["
如果输入参数是以值传递的话,最好使用引用传递代替,因为引用传递省去了临时对象的构造和析构 mQ9y{}t=4
L2c\i
函数的类型不能省略,就算没有也要加个void -jzoGzC3
,$Cr9R&/
m%nRHT0KAf
七、函数体中的指针或引用常量不能被返回 < lUpvr
l.(|&