c언어 const, constexpr 차이

 
const
이 변수는 초기화된 후에는 절대 변경할 수 없다.
이 값은 런타임에 결정될 수도 있습니다.
파일에 있는 설정 값을 읽어와 초기화 하는 경우.

int getUserInput() {
    int input;
    std::cin >> input;
    return input;
}

// 런타임에 값을 받아 const 변수 초기화
const int MAX_VALUE = getUserInput(); 


constexpr
이 변수는 컴파일 타임에 값이 결정되며, 절대 변경할 수 없다.
이 값은 반드시 컴파일 시점에 알아야 합니다.
컴파일 할 때 이미 그 값을 숫자로 대체할 수 있어 최적화에 유리 합니다.

constexpr int x = 100;


댓글

이 블로그의 인기 게시물

콘탁 Kontakt, KOMPLETE 저렴한 구입 방법.

대성 산업 탁상 시계 DS-173 메뉴얼

약술, 서술, 논술, 사례 답안지 작성 요령.