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.字面常量,只有字符串可以取地址。

posted @ 2017-08-20 22:37  一种微笑  Views(144)  Comments(0)    收藏  举报