[C/C++] const pointer

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]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다