const
: const 바로 뒤에 오는 것을 바꿀 수 없다고 생각하면 쉽다.
//기본 타입
int n = 10;
int* const p1 = &n; // n의 값을 바꿀 수는 있지만 p1이 다른 변수를 가리킬 수 없다.
const int* p2 = &n; // n의 값을 바꿀 수는 없지만 p2이 다른 변수를 가리킬 수 있다.
const int* const p3 = &n; // n의 값도 바꿀 수 없고 p1이 다른 변수도 가리킬 수도 없다.
//클래스 타입
Point pt;
Point* const ppt1 = &pt; // pt의 멤버 변수의 값을 바꿀 수는 있지만 다른 객체를 가리킬 수 없다
const Point* ppt2 = &pt; // pt의 멤버 변수의 값을 바꿀 수는 없지만 다른 객체를 가리킬 수 있다
const Point* const ppt3 = &pt;// pt의 멤버 변수의 값을 바꿀 수도 없고 다른 객체를 가리킬 수도 없다
+
자료 출처 : http://blog.naver.com/jeraid?Redirect=Log&logNo=60044028282