const는 무조건 앞에 있는 것을 수식한다.
가령
const int* p;
의 경우에는 p가 가리키는 int의 값을 수정하지 못한다.
[code language=”c”]
int n = 3;
const int* p = &n;
*p = 4; // error!
[/code]
int const* p의 경우에도 위와 마찬가지다. 그러나 int* const p의 경우에는 p의 값을 변경하지 못한다. 즉, 한번 가리킨 곳을 계속 가리키고 있다.
[code language=”c”]
int n = 3;
int* const p = &n;
int m = 4;
p = &m; // error!
[/code]
답글 남기기