constexpr ( generalized constant expressions )

DevCho1107

·

2023. 5. 4. 03:21

기존 const 키워드와 비슷한데, 간혹 예제나 다른 프로젝트들을 보면 보이던 키워드이다. 

C++ 11에 추가되었으며, 기존 상수형 변수,함수 키워드 const 비슷하지만 다른점들을 비교해보았다. 

 

'const' 와 'constexpr' 모두 상수를 나타내는 키워드(상수 구문)이지만, 둘 사이에는 중요한 차이점이 있다. 

'constexpr' 는 무조건 컴파일 시간에 평가한다. 

그와 달리 'const' 는 컴파일 시간에 평가할 수 도 있고, 런타임에 초기화 될 수 도 있다. 

 

constexpr int add(int x, int y)
{
    return x + y;
}

constexpr int result = add(1, 2); // result는 컴파일 시간에 3으로 평가됩니다.

 

'< Programming > > C++' 카테고리의 다른 글

c++ Lambda  (0) 2023.05.23
emplace_back  (0) 2023.05.08
C++ 17 에서 업데이트 된 기능 정리.  (0) 2023.04.25
RingBuffer 구현예제.  (0) 2023.04.20
std::Funtion 정리  (0) 2023.04.06