Namespaces
Variants

std::variant<Types...>:: index

From cppreference.net
Utilities library
constexpr std:: size_t index ( ) const noexcept ;
(C++17부터)

현재 variant가 보유하고 있는 alternative의 0-기반 인덱스를 반환합니다.

만약 variant가 valueless_by_exception 상태라면, variant_npos 를 반환합니다.

예제

#include <iostream>
#include <string>
#include <variant>
int main()
{
    std::variant<int, std::string> v = "abc";
    std::cout << "v.index = " << v.index() << '\n';
    v = {};
    std::cout << "v.index = " << v.index() << '\n';
}

출력:

v.index = 1
v.index = 0

참고 항목

variant 이 현재 주어진 타입을 보유하고 있는지 확인
(함수 템플릿)
인덱스나 타입(타입이 고유한 경우)이 주어졌을 때 variant의 값을 읽음, 오류 발생 시 예외 발생
(함수 템플릿)