ranges_dangling
ranges_dangling (매달린 반환 값 자리표시자)
std::ranges::dangling은 ranges::borrowed_iterator_t와 ranges::borrowed_subrange_t 템플릿 별칭과 함께 사용되는 자리표시자 타입이자 빈 클래스 타입이에요. C++20부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
struct dangling;
(since C++20)
dangling은 ranges::borrowed_iterator_t와 ranges::borrowed_subrange_t 템플릿 별칭과 함께 사용되는 자리표시자 타입이자 빈 클래스 타입이에요.
보통 범위의 반복자 또는 하위 범위를 반환하는 일부 제약된 알고리즘이, borrowed_range를 모델링하지 않는 특정 rvalue 범위 인자를 받으면, 매달린 반복자를 반환하는 것을 피하기 위해 dangling이 대신 반환돼요.
참고 (Notes)
dangling은 빈 클래스이므로, 그 객체는 실제로 범위에 접근할 수 없어요. 이 타입을 받은 코드는 컴파일 타임에 매달린 참조 위험이 있음을 알 수 있어요.