C++ primer
第一章
1.1 #include <xx>
#include "xx"
<"xx">表示xx是一个工程 或者 标准头文件,查找预定义目录。
""xx""表示xx是用户提供的头文件,从当前目录开始查找。
1.2 #ifndef XX_X
#define XX_X
//code
#endif
如果XX_X没有被定义,则编译#define #endif 之间的代码。否则不编译这段代码。
#ifdef DEBUG
//code
#endif
g++ -DDBUG main.C 可以这样传递。
1.3 常用编译宏
__cplusplus C++程序
__STDC__ C程序 不会与__cplusplus一起被定义.
__LINE__ 已被编译的行数
__FILE__ 正在编译的文件名
__TIME__ 正在被编译文件的编译时间
__DATE__ 正在被编译文件的编译日期
第三章 数据类型
一般而言,有如下规则,64位系统有所区别,不同处理器也有所区别.
char 1byte
short 2byte
int 4byte
long 4byte 或者 8byte
float 4byte
double 8byte
long double 12byte 或者 16byte
20 十进制
020 八进制
0x20 十六进制
整数默认为int
整数后面加L表示long型
整数后面加U表示无符号
整数后面加LU表示无符号long型
小数默认是double型
小数后面加F表示浮点数
科学计数法 3.3e-10
L'A'表示A这个字符占多个byte,类型为wchar_t.ubuntu 12.04中,sizeof(L'A') = 4
L"ABC"
\n 换行
\t \v 制表符
\b 退格
\a 响铃
\f 进纸
\\ \' \" \?
volatile 关键字告诉编译器,该变量可能被编译器不知道的其他东西(比如bios)多修改,不要随意对其做优化处理.
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。