C++中的const
一、类中的const成员有两种初始化方式:
1.与static一同使用,在类外或类中进行初始化。
2.使用类的初始化列表进行初始化。
二、const 类的对象或者引用只能调用const成员函数,否则会编译错误。
const成员函数中只能使用const成员或调用const函数。
三、类中的const成员函数如果想改变非常量成员的话,有两种方式:
1.使用mutable关键字
class A
{
private:
mutable int r;
public:
void f()const;
};
void A::f()const
{
r++;
}
2.使用const_cast<type_id>(expression)
class A
{
private:
int r;
public:
void f()const;
};
void A::f()const
{
(const_cast<A*>(this)->r )++;
}

浙公网安备 33010602011771号