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 )++;

}

posted @ 2013-06-19 15:27  成长的点点滴滴  阅读(164)  评论(0)    收藏  举报