c언어 const, constexpr 차이
const
이 변수는 초기화된 후에는 절대 변경할 수 없다.
이 값은 런타임에 결정될 수도 있습니다.
파일에 있는 설정 값을 읽어와 초기화 하는 경우.
int getUserInput() {
int input;
std::cin >> input;
return input;
}
// 런타임에 값을 받아 const 변수 초기화
const int MAX_VALUE = getUserInput();
constexpr
이 변수는 컴파일 타임에 값이 결정되며, 절대 변경할 수 없다.
이 값은 반드시 컴파일 시점에 알아야 합니다.
컴파일 할 때 이미 그 값을 숫자로 대체할 수 있어 최적화에 유리 합니다.
constexpr int x = 100;
댓글
댓글 쓰기