跳到主要内容

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

声明

C++17

constexpr std::size_t index() const noexcept;

返回变体当前持有的替代方案的从零开始的索引。

如果变体是 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

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

声明

C++17

constexpr std::size_t index() const noexcept;

返回变体当前持有的替代方案的从零开始的索引。

如果变体是 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