effective C++中的问题书中说到:当我们以常量替换#define,有两种特殊情况值得注意:第一是定义常量指针(con
effective C++中的问题
书中说到:
当我们以常量替换#define,有两种特殊情况值得注意:
第一是定义常量指针(constant pointers)。由于常量定义式通常被放在头文件内(以便被不同的源码含入),因此有必要将指针(而不是指针所指之物)声明为const。例如若要在头文件定义一个常量的(不变的)char *-based字符串,你必须写const两次:
Const char* const authorName="Scott Meyers";
这句话是什么意思啊?
最好能给个程序解释一下。
[解决办法]
http://topic.csdn.net/u/20080715/20/26d5612b-6174-4950-858b-0bd40fb3357a.html
原来有这么差不多的一个帖子 呵呵
[解决办法]
Const char* const authorName="Scott Meyers";
第一个const表明指针指向的是常量
第二个const表明这个指针是常量
[解决办法]
- C/C++ code
const int ci=0; int d = 10 ; const int *p=&ci; //其指向的地址可变 cout<<*p<<endl; p = &d ; //*p = 10 ;//wrong cout<<*p<<endl; int const *q = &d ; //其指向的内容可变 cout<<*q<<endl; d = 20 ; cout<<*p<<endl; int * const o = &d ; //其指向的内容可变 cout<<*o<<endl; d = 20 ; cout<<*o<<endl;
