std::variant<Types...>::index
Материал из cppreference.com
<tbody>
</tbody>
constexpr std::size_t index() const noexcept; |
(начиная с 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 по заданному индексу или типу (если тип уникален), генерирует исключение при ошибке (шаблон функции) |