摘要:
1.#define 和const都可以定义常量,但是#define定义仅仅是字符的替换,而const是带有类型的#define a 3const int b = 4;int w = a;//这句话会将a直接替换为3,需要一个临时空间来存储3,然后再把3赋值给wint x = b;//这句话会将b的值直接赋值给x,不需要临时空间因此,如果是仅仅定义一个常量,并且基本都在本文件中使用,最好用const来定义但是有些#define的有些功能const是替代不了的例如:#define TO_STR(x) #x调用这个宏,会返回一个字符串,跟传入的字符串一样#define CONCAT(x,y) x## 阅读全文
posted @ 2014-03-17 12:31
784692237
阅读(271)
评论(0)
推荐(0)
摘要:
1.怎样判断const把谁定义成了常量?要看const吧谁定义为了常量,只需要看const右边的变量即可int * const a;是把a定义为了常量,而*a是可以改变的int const * a;是把*a定义成了常量,a是可以改变的int const * const a;是把a和*a都定义成了常量,都不能被修改2.const用在什么时候--1如果不希望自己的变量呗修改,应该定义为const类型例如写函数时为了确保变量*p不被修改可以写成void test(const int *p){}--2 const还可以替代宏定义3.在使用const遇到#define和typedef时应注意的情况例如下 阅读全文
posted @ 2014-03-17 01:21
784692237
阅读(225)
评论(0)
推荐(0)

浙公网安备 33010602011771号