Задать вопрос
@jackroll
Сверхразум

В чем разница между [тип] const * и const [тип] const *?

В чем разница между, например, double const *ptr; и const double const *ptr;?
  • Вопрос задан
  • 590 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
dnovikoff
@dnovikoff
Очень странный пример.
Между const [type] и [type] const вообще нет никакой разницы - оба раза const применяется к типу
const [type] const - это двойное применение const к типу, что вызовет ошибку компиляции.

В случае если const стоит после звездочки, то оператор const применяется к указателю
То есть [type] * const

Так же возможны равнозанчные варианты
[type] const * const
и
const [type] * const
где const применен и к типу и к указателю

Говоря простыми словами:
1. Если const относится к типу (до звездочки), то данные по указателю менять нельзя
2. Если const относится к указателю (после звездочки), то нельзя менять менять сам указатель
Ответ написан
Комментировать
AxisPod
@AxisPod
В вашем случае это одно и то же, если const стоит до * или &, применяется к данным, если же после, то к указателю или ссылке, в вашем же случае всегда стоит до знака *.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@mamkaololosha
const для указателя или для значения
Ответ написан
MAKAPOH
@MAKAPOH
многостаночник
В дополнении к уже ответившим приведу ещё одну ссылку по данной теме.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы