关于const ,貌似面试之类的考的比较多,也有很多小细节。
参考百度百科:
http://baike.baidu.com/view/1065598.htm
其中:
typedef char * pStr;
char string[4] = "abc"; const char *p1 = string; const pStr p2 = string; p1++; p2++;在这里,p1和p2 不是完全等价的,const newType m, 这样m是const常量,是不可变的。
所以上面的语句中,p2++是有问题的,p2 的值不能再变化。
不过百度百科上出现了 const (char *) p; 自己试了下,这种定义方式,编译是通不过的。
const 的使用,看来还有很多小细节,一般函数如果要求不能改变传递的变量时,通常会有const 来进行修饰。