都说const char *定义了字符串,就不能再改变了,但是为什么本人在vs2012中这么写也不会报错呀?
const char *str="hello"; str="hi";
但是假如是const int的话就报错了
const int i=5; i=10;
这是为啥呢?
解决方案
60
const char *str 是指针指向的内容是常量,但指针本身不是常量 ,你可以修改指针指向的东西,但不能修改那个东西的值
假如你要指针是常量 ,要写成char* const str
假如你要指针是常量 ,要写成char* const str
20
常量指针与指向常量的指针的区别:
http://www.jb51.net/article/37859.htm
http://www.jb51.net/article/37859.htm