C++ const 키워드 활용

소프트웨어 개발 과정에서 의도치 않은 데이터 변경은 치명적인 버그의 원인이 된다.

C++의 const 키워드는 이러한 위험을 컴파일 시점에 차단하여 코드의 예측 가능성을 높이는 핵심적인 요소다.

상수 변수의 정의

변수 선언 시 const를 붙이면 초기화 이후 값을 변경할 수 없다.

매직 넘버를 상수로 관리하면 가독성과 유지보수성이 향상된다.

const int MAX_USERS = 100;
// MAX_USERS = 200; // 컴파일 에러

포인터와의 결합 방식

포인터와 함께 사용할 때는 const의 위치에 따라 상수의 대상이 달라진다.

  • 데이터 보호: const int* ptr (가리키는 값을 수정 불가)
  • 주소 고정: int* const ptr (가리키는 대상을 변경 불가)

멤버 함수의 읽기 전용 선언

클래스 멤버 함수 뒤에 const를 붙이면 해당 함수 내에서 멤버 변수의 수정을 금지한다.

이는 객체의 상태를 보존함을 보장하는 용도로 쓰인다.

class User {
    string name;
public:
    string getName() const {
        return name;
    }
};

효율적인 인자 전달

함수에 객체를 전달할 때 복사 비용을 줄이기 위해 참조(&)를 사용하며, 원본 데이터의 보호를 위해 const를 결합하는 것이 표준적인 방법이다.

void printMessage(const string& msg) {
    cout << msg << endl;
}

P.S

const는 단순한 문법적 제약을 넘어 시스템의 신뢰성을 확보하는 도구다.

변경이 필요 없는 모든 곳에 const를 적용하는 습관은 견고한 소프트웨어 설계의 기초가 되는 것 같다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts