태그: Reflection
5편
-
C++26 표준 확정: 리플렉션·Contracts·std::execution 등 주요 변경점
C++26에 들어간 정적 리플렉션, Contracts, 초기화하지 않은 변수 읽기의 erroneous behavior와 표준 라이브러리 하드닝, std::execution 비동기 모델을 코드와 함께 살펴봅니다. 컴파일러 지원 현황과 기존 프로젝트에서 먼저 해 볼 수 있는 일도 정리합니다.
-
C++ 코드 생성 방식 비교: 템플릿, X-Macro, Clang libTooling, Protobuf, C++26 리플렉션
직렬화·RPC 스텁·에러 코드 매핑처럼 반복되는 C++ 코드를 템플릿, X-Macro, Clang libTooling, Protobuf·FlatBuffers, Python 스크립트, C++26 리플렉션 중 무엇으로 생성할지 비교하고, CMake 통합과 생성 코드 관리에서 생기는 문제를 정리합니다.
-
C++26 리플렉션 기초: ^^ 연산자, std::meta::info, template for로 멤버 순회하기
C++26에 채택된 정적 리플렉션(P2996)의 실제 문법을 정리합니다. ^^ 연산자와 std::meta::info, identifier_of·nonstatic_data_members_of·access_context, [: :] 스플라이스, template for와 define_static_array, [[=...]] 어노테이션, 컴파일러 지원 현황과 C++20 대안까지 다룹니다.
-
C++26 프리뷰: Reflection과 신규 표준 라이브러리 제안들 [#44-1]
구조체가 바뀔 때마다 to_json·from_json을 다시 쓰는 문제를 C++26 Reflection(P2996)이 어떻게 줄이는지 멤버 순회와 splice 예제로 살펴봅니다. std::execution의 sender/receiver 모델, Contracts, 표준에 들어가지 않은 기능도 짚습니다.
-
C++ 메타프로그래밍의 진화: Template에서 Constexpr, 그리고 Reflection까지
템플릿 기반 메타프로그래밍에서 constexpr·if constexpr·fold expression·Concepts, 그리고 C++26 Reflection까지 C++ 메타프로그래밍의 흐름을 예제와 흔한 컴파일 에러 중심으로 정리합니다.