在C++中重载operator时"const"是什么意思

Yio*_*iou 3 c++ const operator-overloading

我看到类似的东西:

const char& operator[] (int Index) const
Run Code Online (Sandbox Code Playgroud)

const我明白的第一个.这是为了保护回归char不受修改.

但是第二个const意思是什么呢?为什么我们有时会使用两个const,有时只使用一个?

Kir*_*rov 7

它可以用于任何成员函数,而不仅仅是运算符.这意味着,这个功能将:

  • 无法修改任何数据成员(除了mutable)
  • 将无法调用任何非const会员功能

  • 我总是喜欢说这是指定隐含的`this`指向对象的常量的方法. (2认同)