Я прошу прощения, если это было задано, но как создать функцию-член в С++, которая возвращает указатель в следующих сценариях: 1. Возвращаемый указатель является постоянным, но мусор внутри может быть изменен. 2. Хранение внутри является постоянным, но возвращаемый указатель может быть изменен. 3. Ни мусор, ни указатель не могут быть изменены.
Это так:
-
int *const func() const
-
const int* func() const
-
const int * const func() const
Все обучающие материалы, которые я прочитал, не охватывают это различие.
Боковое примечание: Если мой метод объявлен const, то в учебниках говорится, что я утверждаю, что не буду изменять параметры. Но это недостаточно ясно для меня в случае, когда параметр является указателем. Должны ли мои параметры быть такими:
а. void func(const int* const x) const;
б. void func(const int* x) const;
с. void func(const int* const x) const;