언어/Basic C++
[Basic C++] #27_상수 표현식, constexpr
Hardii2
2022. 5. 21. 20:09
[Basic C++] #27_상수 표현식, constexpr
C++ 개발에서 까다로운 문법 혹은 특별한 의미를 갖는 부분에 대해 알아보겠습니다.
"전문가를 위한 C"의 10 항목, "C++의 까다롭고 유별난 부분들"에 해당하는 내용입니다.
Overview
- 개념
#0. 개념
1. 상수 표현식, constexpr?
const int getArraySize1() { reutrn 32; }
constexpr int getArraySize2() { return 32; }
int main()
{
int myArray[getArraySize1()]; // 에러!!
int myArray2[getArraySize2()]; // Ok!! 정상적으로 작동 합니다.
return 0;
}
Details
- C++에서 "상수 표현식"이란, 상수가 아닌 구문을 사용하면 에러가 발생하는 특정 상황에 "상수"로 취급되게끔 해주는 장치입니다.
- 하지만, 함수를 constexpr을 사용해서 선언하기 위해 많은 제약 사항들을 고려해야 하기 때문에 주의해야 합니다.