проблема объявления переменной - PullRequest
0 голосов
/ 13 января 2011

Объясните разницу между тем, как объявляются переменные p и q.Опишите, когда вы будете использовать одну декларацию, а когда - другую.

int x = 5;

const int *p = &x;

int * const q = &x;

1 Ответ

2 голосов
/ 13 января 2011
int x = 5;
const int *p = &x;

Это присваивает адрес x указателю const int p. Это означает, что вещь, на которую указывает p, является постоянной и не может быть записана путем разыменования p.

int * const q = &x;

Это присваивает адрес x константному указателю на int q. Это означает, что указатель является постоянным и не может быть изменен впоследствии, однако вы можете изменить x, отменив ссылку на p.

...