태그: 컴파일타임
6편
-
C++20 constexpr 컨테이너와 알고리즘: constexpr vector·string·new/delete의 규칙과 한계
C++20에서 constexpr로 쓸 수 있게 된 std::vector·std::string·표준 알고리즘과 constexpr new/delete를 예제로 설명합니다. 할당이 상수 평가 밖으로 나갈 수 없는 규칙, 결과를 std::array로 옮기는 방법, 자주 나는 컴파일 에러와 컴파일러별 지원 버전을 다룹니다.
-
C++ constexpr 함수: 컴파일 타임 평가 조건과 C++11·14·17 제약 변화
constexpr 함수가 상수 표현식 문맥에서만 컴파일 타임에 평가되는 규칙을 설명하고, C++11의 단일 return 제약에서 C++14·C++17로 완화된 내용, constexpr 클래스, 정적 변수·가상 함수 사용 시 생기는 오류를 예제로 다룹니다.
-
C++ 컴파일 타임 리플렉션 | C++26 Reflection·magic_enum·매크로 직렬화·검증
구조체가 늘 때마다 to_json·from_json을 손으로 쓰는 반복을 줄이려고 C++26 Reflection(P2996)의 개념과 예제를 살펴보고, 지금 쓸 수 있는 magic_enum, Boost.PFR, X-Macro 기반 멤버 순회를 비교합니다. magic_enum의 제약과 흔한 에러도 다룹니다.
-
C++ 컴파일 타임 최적화 | constexpr·PCH·모듈·ccache·Unity 빌드 [#15-3]
매번 같은 룩업 테이블을 런타임에 계산하던 코드를 constexpr 함수, if constexpr, consteval로 컴파일 타임에 옮기는 방법을 다룹니다. 빌드 시간을 줄이는 쪽으로는 병목 측정, PCH, C++20 모듈, ccache, distcc 분산 컴파일, Unity 빌드를 CMake 설정과 함께 설명합니다.
-
constexpr 기초부터 C++26까지: constexpr 함수·생성자, const와의 차이, 확장된 규칙
C++ constexpr 정리. constexpr 변수와 함수, 생성자, const와의 차이, C++14/20/23 확장, C++26에서 추가되는 기능(void* 캐스트, placement new, 예외, 리플렉션)과 자주 만나는 컴파일 에러를 다룹니다.
-
C++ 컴파일 타임 프로그래밍 기법 | 런타임 오버헤드 제거와 constexpr·consteval 실전
런타임 오버헤드를 줄이기 위한 컴파일 타임 프로그래밍. constexpr 함수, if constexpr, consteval(C++20), 템플릿 메타 vs constexpr 비교, 성능 벤치마크, 프로덕션 패턴까지.