constexpr는 기본적으로 const와 같은 상수 값을 의미한다. 그러면 왜 const가 아니라 constexpr을 써야하는 가,
이걸 써주면 만약 constexpr int 를 리턴하는 함수가 다음과 같이 있다고 할 때,
constexpr double Square(const double x) { return x * x; }
int main()
{
constexpr double i = Square(3.141592653);
}
i의 값은 컴파일 타임에 미리 계산이 되므로 실행 후에 Square 함수가 실행되어 값을 i에게 전달하는 것이 아니라 미리 상수로 정의 되도록 만들 수 있다.
이외에 어떤 이점이 있는지는 공부가 되는 대로 또 추가할 것이다.
'Programming' 카테고리의 다른 글
[C++] std::unordered_map // std::unordered_multimap (0) | 2020.01.15 |
---|---|
[C++]delete unique_ptr<T>.get() (0) | 2020.01.09 |
[C++] noexcept 선언 (1) | 2019.12.19 |
[C++] Exception 처리 (0) | 2019.12.19 |
C++에서 C# Style Property 사용하기 (1) | 2019.12.18 |