• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

const 와 constexpr차이

20.12.27 14:55 작성 조회수 543

1

전에 헤더 파일을 만들때는 constexpr로 만들었는데 이번엔 

const를 쓰시는데 둘의 차이가 뭔가요?

답변 1

답변을 작성해보세요.

2

안소님의 프로필

안소

2020.12.27

안녕하세요.

둘이 아주 큰 차이가 있는 것은 아닙니다. 둘 다 상수입니다.

차이가 있다면 const는 컴파일타임에도, 런타임에도 값이 결정될 수 있는 상수입니다.  이에 반해 constexpr 는 반드시 꼭 컴파일 타임에 결정되야 하는 상수이기 때문에 꼭! 컴파일 타임에 값이 결정되야 함을 강조하고 싶다면 constexpr 을 사용할 수 있겠습니다.

수업에서 교수님이 사용하신 것처럼 간단한 상수식을 사용할 땐 constexpr 으로 선언하는게 더 효율적일 수 있다고 하네요. 수업에서 교수님께서 사용하신 상수들은 프로그램 실행 중에 값이 결정될 상수들은 아니기 때문에 constexpr 소개도 해주실겸 사용하신것 같습니다. const로 쓰셔도 무방합니다.

const와 constexpr의 차이에 대한 정보가 정말 많이 올라와있어서 더 자세히 알아 보고 싶으시다면 구글링 해보시길 추천드립니다!