2015-11-08 3 views
-1

Мы можем найти:Оператор константы в функции-члена (Почему может быть в двух разных частях)?

1)

const char *get() { return str; } 

2)

int get() const { return A; } 

Что отличия "сопзЬ" в этих двух различных частей функции?

+0

Первый возвращает указатель на тип const, а второй - функцию const. –

+0

символ против int и указатель против не указателя. –

ответ

0

Первый возвращает указатель на символ, который является постоянным - значение str не может быть изменено. Это используется для создания неотменяемой вещи.

Второй возвращает int (от A), который не изменяет состояние класса - поэтому его можно вызывать, когда класс является постоянным.

+0

Итак, в 1) нет никаких промахов не изменять параметр (str)? –