Namespaces
Variants

std::meta::reflect_constant_string

cppreference.net에서
< cpp | meta
 
 
 
리플렉션 라이브러리
 
리플렉션 타입 및 쿼리
리플렉션 쿼리
리플렉션 레이아웃 쿼리
타입 속성
타입 속성 쿼리
 
헤더 <meta>
template< ranges::input_range R >
consteval std::meta::info reflect_constant_string( R&& r );
(C++26부터)에 정의됨

해당 요소들이 r의 대응 요소이고, r이 문자열 리터럴 객체가 아닌 경우 null 문자가 추가된 문자 배열 객체를 나타내는 리플렉션을 반환합니다.

결과 문자 배열 객체는 템플릿 매개변수 객체입니다: 정적 저장 기간을 가지며, 동일한 내용을 가진 문자열은 동일한 객체에 대응합니다.

결과 문자 배열 객체는 또한 잠재적으로 고유하지 않은 객체입니다.

공식적으로, 다음을 정의합니다:

  • CharT를 ranges::range_value_t<R>이라 하고, 이는 char, wchar_t, char8_t, char16_t 또는 char32_t 중 하나여야 합니다.
  • V를 값들이 CharT 타입인 팩이라 하고, 해당 요소들은 r의 대응 요소이며, 단 r이 문자열 리터럴 객체인 경우 V은 r의 종료 null 문자를 포함하지 않습니다.
  • P를 템플릿 매개변수 객체라 하고, 타입은 const CharT[sizeof...(V) + 1]이며, {V..., CharT()}로 초기화됩니다.

이 함수는 객체 P를 나타내는 리플렉션을 반환합니다.

매개변수

r - 문자들의 input_range

반환값

위에서 설명한 대로 문자 배열 객체를 나타내는 리플렉션입니다.

참고

std::meta::reflect_constant_string의 결과는 std::meta::substitute와 함께 사용하기에 적합합니다. 호출자가 리플렉션 값 대신 정적 문자열에 대한 포인터를 원한다면 std::define_static_string이 일반적으로 더 적합합니다.

예제

함께 보기

컴파일 타임 문자열을 정적 저장소로 승격하고, 정적 문자열의 첫 번째 문자에 대한 포인터를 반환합니다
(함수 템플릿)
컴파일 타임 배열을 정적 저장소로 승격하고, 정적 배열을 나타내는 리플렉션을 반환합니다
(함수 템플릿)
값 또는 템플릿 매개변수 객체를 나타내는 리플렉션을 반환하며, 상수 템플릿 인자로 사용하기에 적합합니다
(함수 템플릿)