mutable关键字与常函数、常对象

mutable

在常函数中,由于this指针的本质为Class * const,使其指向的指针不能改,但值可以改

  1. 如果把函数的形式改为 void func() const,则把this指针修饰为 const class * const了,这时无法修改其值
  2. 如果还想修改,就需要在变量前加 mutable type type_name;

常函数

申明方法在函数后面加const

void show() const

常对象

  1. 只能调用常函数
  2. 不能修改其成员函数值
  3. 但可以通过间接来修改
posted @ 2021-01-08 13:54  PYozo_free  阅读(82)  评论(0编辑  收藏  举报