const 指针成员变量为什么可以在随意地方赋值?
一直以为const成员变量只能在构造函数那个:后边赋值
class A
{
const CString* ps;
public:
void set(const CString& a)
{
ps = &a;
}
};
这样也没问题啊,为什么?
[解决办法]
这里的const修饰的是CString,指的是该指针指向的内容不能被修改而指针本身是可以修改的
如果要求指针不能被修改要写成这样
CString * const ps;
发布时间: 2013-06-26 14:29:32 作者: rapoo
const 指针成员变量为什么可以在随意地方赋值?
一直以为const成员变量只能在构造函数那个:后边赋值
class A
{
const CString* ps;
public:
void set(const CString& a)
{
ps = &a;
}
};