Этот синтаксис для методов внутри классов.Методы, помеченные как const
(второй const
в вашем коде), не могут изменять атрибуты объекта, только чтение.Const-методы являются единственными вызываемыми методами, если вы создаете экземпляр объекта как const
.Для примера:
class A {
public:
void put(int v) {
var = v;
}
int read() const {
return var;
}
private:
int var;
}
int main() {
A obj;
obj.put(3);
const A obj2 = obj;
obj2.read(); // OK, returns 3;
obj2.put(4); // Compile time error!
}