C++学习随笔
1.C与C++ NULL区别
#ifdef_cplusplus
#define NULL 0
#else
#define NULL ((void*)0)
#endif
2.字节是内存编址的最小单位。
3.大小端转换:如变量 short test = 0x0D25
大端CPU:低字节放在高地址,高字节放在低地址,高字节所在的地址为变量首地址。
首地址-> 0x00000001 0x0D
0x00000002 0x25
小端读出来是0x250D,大端读出来是0x0D25
小端CPU:低字节放在低地址,高字节放在高地址,低字节所在的地址为变量首地址。
首地址-> 0x00000001 0x25
0x00000002 0x0D
小端读出来是0x0D25,大端读出来是0x250D
大小端判断:
union
{
short a;
char b;
}test;
test.a = 0x0D25;
if (test.b == 0x0D)
{
// big endian
}
else
{
// little endian
}
4.c语言命名一般取前31字符作为有效字符,c++则为前255个字符。
5.函数名是个常量,extern类型的函数指针,编译时就确定了地址值。
6.基本数据类型的字面常量,枚举常量,sizeof(),常量表达式等不需要分配存储空间(编译时求值),但是字符串常量和const常量需要分配运行时的存储空间。
7.bool类型应该和false比较,不和true比较,true值不确定。
8.浮点型比较,应该用精度比较,如
abs(x-y) <= EPSILON表示等于
abs(x-y) > EPSILON表示不等于
0值比较:
abs(x) <= EPSILON表示等于0
abs(x) > EPSILON表示不等于0
9.字面常量,只有字符串可以取地址。

浙公网安备 33010602011771号