C++中得mutable关键字

来源:互联网 发布:java实现约瑟夫环 编辑:程序博客网 时间:2024/06/05 06:59

在一个const函数中无法修改类成员的值,通过试用mutable可以改变这种窘况。次关键字在Mock测试中(MockTest)很有用:


class ObMockMergerAsyncRpcStub : public ObMergerAsyncRpcStub{  public:    ObMockMergerAsyncRpcStub()    {       rpc_events_list_.init(1024, rpc_events_, 0);    }    virtual ~ObMockMergerAsyncRpcStub(){}    virtual int scan(const int64_t timeout, const ObServer & server,        const ObScanParam & scan_param, ObMergerRpcEvent & result) const    {       if(!rpc_events_list_.push_back(&result))      {         TBSYS_LOG(ERROR, "fail to save rpc result");      }      else      {         TBSYS_LOG(INFO, "a RPC result save to rpc_event_list_");      }      return OB_SUCCESS;    }    mutable ObMergerRpcEvent *rpc_events_[1024];    mutable ObArrayHelper<ObMergerRpcEvent*> rpc_events_list_;};


原创粉丝点击