Функция-член c ++ const, которая возвращает указатель на константу .. Но какой тип константы является возвращаемым указателем?

Прошу прощения, если об этом спросили, но как мне создать функцию-член в c ++, которая возвращает указатель в следующих сценариях: 1. Возвращаемый указатель является постоянным, но мусор внутри может быть изменен. 2. Мусор внутри является постоянным, но возвращаемый указатель можно изменить. 3. Ни хлам, ни указатель изменить нельзя.

Это так:

  1. int * const func () const
  2. const int * func () const
  3. const int * const func () const

Все руководства, которые я прочитал не закрывайте это различие.

Примечание: Если мой метод объявлен как const, тогда в руководствах говорится, что я заявляю, что не буду изменять параметры .. Но для меня это недостаточно ясно в случае, когда параметр является указателем. Должны ли мои параметры быть такими:

a. void func (const int * const x) const;
b. void func (const int * x) const;
c. void func (const int * const x) const;

37
задан afuzzyllama 14 October 2014 в 20:55
поделиться