std::variant<Types...>::index
Материал из cppreference.com
constexprstd::size_t index()constnoexcept; | (начиная с C++17) | |
Возвращает отсчитываемый от нуля индекс альтернативы, которая в настоящее время удерживается объектом variant.
Если variant является valueless_by_exception, возвращает variant_npos.
[править]Пример
Запустить этот код
#include <variant>#include <string>#include <iostream>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
[править]Смотрите также
(C++17) | проверяет, содержит ли variant в настоящее время заданный тип (шаблон функции) |
(C++17) | читает значение variant по заданному индексу или типу (если тип уникален), генерирует исключение при ошибке (шаблон функции) |