목록const (2)

Reference to const value const 값에 대한 포인터를 선언하는 것처럼 const 값에 대한 참조를 선언할 수 있다. const 키워드를 사용하여 참조를 선언하면 된다. 예를 들어보자 변수 하나를 선언하고 다음으로 const를 붙여보자 이렇게 const를 붙인다면 ref_x의 값을 못 바꾼다. 반대로 그리고 int x에 const가 붙은 상태에서 밑에 const를 또 붙이는 것은 괜찮다. Initializing references to const values const 참조는 non-nonst 값, const 값 및 R-Value로 초기화할 수 있다. 다음으로 const int x 에서 const를 뗼 수 있다. const int &ref_x = x; 여기서 떼도 상수를 가리키는 포인..

Pointing to const variables 일반 변수에 const를 사용해서 상수로 만들 수 있듯이 포인터에도 const를 사용할 수 있다. 그런데 일반변수와는 조금 다르다. 포인터와 const가 어떻게 사용되는지 설명드리겠다. 지금까지 보았던 모든 포인터는 상수(const)가 아닌 값을 가리키는 비-상수(non-const) 포인터다. 하지만 값이 상수인 경우에는 어떻게 될까? value에 const를 걸어보자. 위 코드는 컴파일되지 않는다. value가 const니까 포인터로 못 만드는 건가? 생각할 수 있지만 그렇지 않다. pointer도 const가 앞에 붙으면 할 수 있다. 상수 변수는 값을 변경할 수 없다. 만약 상수가 아닌 포인터가 상수 변수를 가리킨 다음에 역참조하여 값을 바꿀 수 있..