태그: if-constexpr
3편
-
C++ const·constexpr 내부 동작 | 평가 시점·if constexpr
const와 constexpr의 평가 시점 차이, constexpr 함수 제약, if constexpr 분기 제거, consteval 즉시 함수, 프로덕션 const 정확성까지 컴파일러 관점에서 정리합니다.
-
C++17 if constexpr: 컴파일 타임 분기로 템플릿 단순화하기와 static_assert(false) 문제
if constexpr는 선택되지 않은 분기를 인스턴스화하지 않아 타입별 처리를 템플릿 하나로 쓸 수 있게 해 줍니다. 재귀 종료와 SFINAE 대체 예제, else에 static_assert(false)를 넣으면 생기는 문제, 분기마다 반환 타입이 달라지는 함정을 짚습니다.
-
C++ 템플릿 특수화: 모든 타입에 같은 로직을 쓸 수 없을 때 완전·부분 특수화로 푸는 법
bool만 true/false로 출력하고 싶을 때처럼 타입마다 다른 동작이 필요할 때 완전 특수화와 부분 특수화를 어떻게 나눠 쓰는지 예제로 보여줍니다. 함수 템플릿은 왜 부분 특수화 대신 오버로드를 써야 하는지, ODR 위반과 모호성 에러도 다룹니다.