[C++] constexpr
카테고리: Cpp
태그: Keyword
이 글은 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 }
참조
💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸
댓글 남기기