Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ const 키워드 완벽 가이드: 상수 선언의 모든 것

C++ const 키워드란 무엇인가?

C++에서 const 한정자(qualifier)는 변수를 상수(constant)로 선언할 때 사용합니다. 즉, 변수가 한 번 초기화되면 프로그램 실행 중에 그 값을 더 이상 변경할 수 없습니다.

const를 사용하면 매우 큰 이점을 얻을 수 있습니다. 예를 들어 원주율(PI)처럼 절대 변해서는 안 되는 고정된 값이 있다면, 프로그램의 어떤 부분에서도 실수로 그 값을 수정하지 못하도록 보호하는 것이 좋습니다. 이럴 때 해당 변수를 const로 선언하면 됩니다.

컴파일러의 최적화 동작

const로 한정된 타입으로 선언된 객체는 컴파일러에 의해 읽기 전용 메모리(read-only memory)에 배치될 수 있습니다. 또한 프로그램 내에서 const 객체의 주소를 한 번도 참조하지 않는다면, 컴파일러는 해당 변수를 아예 저장하지 않고 최적화할 수도 있습니다.

코드 예제

#include<iostream>
using namespace std;

int main() {
    const int x = 10;
    x = 12;  // 컴파일 에러 발생!
    return 0;
}

위 프로그램은 const로 선언된 값 x에 새로운 값 12를 재할당하려고 시도하기 때문에 컴파일 오류가 발생합니다. 컴파일러는 "read-only variable is not assignable"과 같은 오류 메시지를 출력하며 빌드를 거부합니다.

const 사용의 핵심 정리

  • 불변성 보장: 한 번 초기화된 값은 프로그램 전체에서 변경 불가능합니다.
  • 코드 안정성: 중요한 설정값이나 수학적 상수가 의도치 않게 수정되는 버그를 예방합니다.
  • 최적화 기회: 컴파일러가 읽기 전용 메모리 배치나 변수 제거 등의 최적화를 수행할 수 있습니다.

이처럼 const 키워드는 단순히 값을 고정하는 것을 넘어, 코드의 안전성과 성능을 동시에 높여주는 C++의 필수적인 기능입니다.