Какая польза от константных указателей (в отличие от указателей на константные объекты)? - PullRequest
28 голосов
/ 21 октября 2008

Я часто использовал указатели для создания объектов, например ...

const int *p;

Это просто означает, что вы не можете изменить целое число, на которое указывает p через p. Но я также видел ссылку на константные указатели, объявленные так ...

int* const p;

Насколько я понимаю, это означает, что переменная-указатель сама является константой - вы можете изменить целое число, на которое она указывает, в течение всего дня, но вы не можете указать на что-то другое. 1011 *

Какое возможное использование это будет иметь?

Ответы [ 11 ]

0 голосов
/ 21 октября 2008

всегда думайте о указателе как о int. это означает, что

object* var;

на самом деле можно думать как

int var;

Итак, указатель const просто означает, что:

const object* var;

становится

const int var;

и, следовательно, вы не можете изменить адрес, на который указывает указатель, и это все. Чтобы предотвратить изменение данных, вы должны сделать его указателем на объект const.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...