Мы можем найти:Оператор константы в функции-члена (Почему может быть в двух разных частях)?
1)
const char *get() { return str; }
2)
int get() const { return A; }
Что отличия "сопзЬ" в этих двух различных частей функции?
Мы можем найти:Оператор константы в функции-члена (Почему может быть в двух разных частях)?
1)
const char *get() { return str; }
2)
int get() const { return A; }
Что отличия "сопзЬ" в этих двух различных частей функции?
Первый возвращает указатель на символ, который является постоянным - значение str не может быть изменено. Это используется для создания неотменяемой вещи.
Второй возвращает int (от A
), который не изменяет состояние класса - поэтому его можно вызывать, когда класс является постоянным.
Итак, в 1) нет никаких промахов не изменять параметр (str)? –
Первый возвращает указатель на тип const, а второй - функцию const. –
символ против int и указатель против не указателя. –