const方法的学习

      要保证一个方法不会修改数据成员,具体方法就是将方法本身用const关键字来标记。

      将一个方法标记为const,这表明了与客户代码的一个合约,即保证你不会在此方法中尝试修改对象的内部值。如果把一个方法声明为const,但是在方法中修改了数据成员,编译器会报错。而且不能把static方法声明为const,因为静态方法根本没有相应的类实例,因此他们不可能修改内部成员数据。

有时候你在编写一个逻辑上的const方法,但实际上它会修改对象的数据成员。则将该对象数据成员声明为mutable类型。

class test

{

 

public:

 

           void test();

 

           void test1() const;

private:

 

            mutable int numAccess;

};

 

void test::test()

{

        numAccess = 1;   

}

 

void test::test1() const

{

        numAccess = 5;   

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值