어노테이션 (C++26부터)
cppreference.net에서
리플렉션이 관찰할 수 있는 방식으로 선언에 정보를 첨부합니다.
문법
어노테이션 목록은 어트리뷰트 지정자에 도입됩니다. 각 어노테이션은 =로 시작합니다.
= 상수-표현식
|
|||||||||
설명
어노테이션은 타입, 타입 별칭, 변수, 함수, void가 아닌 타입의 함수 매개변수, 네임스페이스, 열거자, 기반-지정자, 또는 비정적 데이터 멤버의 선언에 적용될 수 있습니다.
E가 std::meta::reflect_constant(expr)일 때 (여기서 expr는 상수-표현식), E는 상수 표현식이어야 합니다. E의 결과는 어노테이션의 리플렉션에 대해 std::meta::constant_of을 호출하여 관찰할 수 있습니다.
어노테이션은 동등한 값을 가지며 동일한 선언에 적용되더라도 항상 서로 구별됩니다.
[[=42, =42]] int x;
static_assert(std::meta::annotations_of(^^x).size() == 2);
[[=42]] int f();
[[=24]] int f();
static_assert(std::meta::annotations_of(^^f).size() == 2);
어노테이션으로의 치환은 즉시 문맥이 아닙니다.
예제
| 이 섹션은 불완전합니다 이유: 예제 없음 |
참고 항목
(C++26부터) |
리플렉션된 엔터티에 적용되는 어노테이션을 얻습니다 (함수) |
(C++26부터) |
리플렉션된 엔터티에 적용되며 지정된 타입을 가진 어노테이션을 얻습니다 (함수) |