Код: Выделить всё
const Object* obj; // can't change data
Object* const obj; // can't change pointer
const Object* const obj; // can't change data or pointer
Код: Выделить всё
Object const *obj; // same as const Object* obj;
Что еще более важно, почему существует два правильных способа указания константных данных и в какой ситуации вы предпочитаете или нуждаетесь в одном из них, а не в другом, если таковой имеется?
Изменить
Похоже, это было произвольное решение решение, когда стандарт того, как компиляторы должны интерпретировать вещи, был разработан задолго до моего рождения. Поскольку const применяется к тому, что находится слева от ключевого слова (по умолчанию?), я думаю, они решили, что нет никакого вреда в добавлении "ярлыков" для применения ключевых слов и квалификаторов типов в других по крайней мере до тех пор, пока объявление не изменится путем анализа * или & ...
Это также имело место в C, тогда я' я полагаю?
Подробнее здесь: https://stackoverflow.com/questions/550 ... ld-you-use