std::variant<Types...>::index
来自cppreference.com
constexprstd::size_t index()constnoexcept; | (C++17 起) | |
返回变体当前所保有的可选项的零基索引。
若变体为 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
[编辑]参阅
(C++17) | 检查某个 variant 是否当前持有某个给定类型 (函数模板) |
(C++17) | 以给定索引或类型(如果类型唯一)读取 variant 的值,错误时抛出异常 (函数模板) |