|
发表于 2013-1-26 11:10:21
|
显示全部楼层
类型修饰符const和volatile各种用法,如何理解,怎么用?
存储类型说明符extern、static、register的各种用法,如何理解,怎么用,跪求大神来指教。
先说const
const其实只是从代码的可读性和安全性去理解的,不会对最终的代码行为有多少影响,const就是“只读”的意思。
比如你给一个变量限定了const(对写代码的人来说,总很清楚哪个值需不需要改变),那如果代码里尝试去修改这个变量,编译的时候就会报错,这样会减少bug的产生。
而且代码一目了然,只要看到const修饰符,你就知道这个变量的意图是只读的,而不是可以修改的。
所以好的用法是:把你代码里所有只读的变量全部加上const。
比如char *strcpy(char *dst, const char *src) 这里的const就表示在strcpy函数里src指向的字符数据不能被改变,它只是源字符串,将被拷贝到dst。
const int nValue; //nValue是const
const char *pContent; //*pContent是const, pContent可变
const char* const pContent; //pContent和*pContent都是const |
|