constexpr1 가능하면 항상 constexpr을 사용하라 constexpr을 객체에 적용했을 때에는 const의 강화 버전처럼 작용하지만 함수에 적용했을때에는 다른 의미로 작용한다. constexpr은 단지 상수일 뿐만 아니라 컴파일 시점에서 알려진다는 점을 나타낸다. 컴파일 시점에서 알려지는 값들은 읽기 전용 메모리에 배치될 수 있다. 즉 상수이자 컴파일 시점에서 알려진 정수 값을 C++에서 정수 상수 표현식(const expression)이 요구되는 문맥에서 사용할 수 있다는 것이다. 배열 크기나 정수 템플릿 인수, 열거자 값 등이 그런 문맥에 해당한다. 그런 변수를 constexpr로 선언하면 컴파일러는 그것이 컴파일 시점 상수임을 보장해 주게 된다. int sz; constexpr auto arrSize1 = sz;// 오류! sz의 값을 컴파일 시점에.. 2020. 7. 8. 이전 1 다음