const 한정자의 역할
C++에서 const 한정자(qualifier)는 변수를 상수(constant)로 선언하기 위해 사용합니다. 즉, 변수가 한 번 초기화되면 그 이후에는 값을 변경할 수 없습니다.
const를 사용해야 하는 이유
const를 사용하면 매우 큰 이점을 얻을 수 있습니다. 예를 들어 원주율(PI)처럼 절대 변해서는 안 되는 값이 있다면, 프로그램의 어떤 부분에서도 이 값이 수정되지 않도록 보장해야 합니다. 이럴 때 해당 변수를 const로 선언하면 실수로 인한 값 변경을 컴파일 단계에서 미리 차단할 수 있습니다.
컴파일러의 메모리 최적화
또한 const로 선언된 객체는 컴파일러에 의해 읽기 전용(read-only) 메모리 영역에 배치될 수 있습니다. 나아가 프로그램 전체에서 const 객체의 주소를 한 번도 참조하지 않는다면, 컴파일러는 해당 변수를 아예 저장하지 않고 최적화할 수도 있습니다.
코드 예제
#include<iostream>
using namespace std;
int main() {
const int x = 10;
x = 12; // 컴파일 오류 발생
return 0;
}
위 코드는 const로 선언된 변수 x에 새로운 값을 재할당하려고 시도하기 때문에 컴파일 오류가 발생합니다. 이처럼 const 한정자는 의도치 않은 값 변경을 사전에 방지하여 코드의 안정성과 신뢰성을 높여 주는 중요한 도구입니다.