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

C++ 상수란 무엇일까요? const 키워드 개념과 사용법 총정리

C++에서 상수(Constant)란 무엇인가?

C++에서 상수(constant)란 프로그램 실행 중 딱 한 번만 값을 할당하고, 그 이후에는 절대 값이 변경되지 않도록 만든 변수 혹은 이름이 붙은 값을 의미합니다.

예를 들어 원주율(π) 값을 저장하는 변수 PI를 사용하는 애플리케이션을 작성한다고 가정해 봅시다. 원주율 값은 절대 변해서는 안 되는 값이므로, 이 변수가 프로그램 어디에서도 다시 할당되지 않도록 보장하는 것이 좋습니다. 이렇게 값을 const로 선언하면 프로그램 전체에서 해당 값이 실수로라도 변경되는 것을 컴파일러 수준에서 막아줍니다.

const 한정자로 상수 정의하기

C++에서 상수를 정의하는 방법은 매우 간단합니다. 변수를 선언할 때 자료형 앞에 const 한정자(qualifier)를 붙여주기만 하면 됩니다.

#include<iostream>
using namespace std;
int main() {
    const int x = 9;
    x = 0; // 컴파일 오류 발생!
    return 0;
}

위 코드에서 x는 상수 변수로 정의됩니다. 하지만 이후 x = 0; 구문처럼 상수의 값을 다시 대입하려고 하면 컴파일 오류가 발생합니다. 즉, const로 선언된 변수는 초기화 이후 어떠한 방법으로도 값을 수정할 수 없습니다.

상수를 사용하면 좋은 점

  • 코드 안정성 향상: 의도치 않은 값 변경으로 인한 버그를 사전에 방지할 수 있습니다.
  • 가독성 향상: 매직 넘버(의미 없는 숫자) 대신 의미 있는 이름의 상수를 사용하면 코드를 이해하기 쉬워집니다.
  • 유지보수 용이: 값이 바뀌어야 할 때 상수 선언부 한 곳만 수정하면 됩니다.

참고로 C++11부터는 컴파일 시점에 값이 결정되는 상수 표현식을 위해 constexpr 키워드도 제공되므로, 상황에 맞게 활용하면 더욱 안전하고 효율적인 코드를 작성할 수 있습니다.