[C++] constexpr

Date:     Updated:

카테고리:

태그:

이 글은 C++의 constexpr를 공부하고 정리한 글입니다.
constexpr는 컴파일 시에 값 평가를 하도록 하는 키워드이다.

constexpr

  • 우리의 의도는 컴파일 도중에 값을 평가하는 것임을 컴파일러에게 알려줌
  • 컴파일러가 컴파일 도중에 변수들을 결정지어 줌
  • 변수는 무조건 컴파일 도중에 값이 평가됨
    • 평가할 수 없을 경우 컴파일 에러
    • 또한 const가 된다. 그래서 값을 바꿀수 없다
  • 함수는 그럴려고 최대한 노력함
    • 평가할 수 없을 경우 실행시에 그 함수가 호출 됨

    코드 예시

    constexpr int Factorial(int n)
    {
      return n <= 1 ? 1 : n * Factorial(n - 1);
    }
    
    int main()
    {
      int value = 3;
      int result1 = Factorial(value);             // OK
    
      constexpr int result2 = Factorial(value);   // 컴파일 에러
    
      constexpr int result3 = Factorial(3);       // OK
    
      constexpr int num1 = 2;
      num1 = 10;                  // 컴파일 에러
    
      const int num2 = 5;
      constexpr int num3 = num2;  // OK
    
      constexpr int num4 = 4;     // OK
      constexpr int num5 = num4;  // OK
    }
    


참조

포큐아카데미 C++ 언매니지드 프로그래밍



💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우 
  언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸

맨 위로 이동하기

Cpp 카테고리 내 다른 글 보러가기

댓글 남기기