std::holds_alternative
来自 cppreference.com
定义在头文件 <variant> 中 |
||
template< class T, class... Types > constexpr bool holds_alternative( const std::variant<Types...>& v ) noexcept; |
(自 C++17 起) | |
检查变体 v 是否包含备选方案 T
。如果 T
在 Types...
中不只出现一次,则调用将是非法的。
内容 |
[编辑] 参数
v | - | 要检查的变体 |
[编辑] 返回值
如果变体当前包含备选方案 T
,则为 true,否则为 false。
[编辑] 示例
运行此代码
#include <cassert> #include <string> #include <variant> int main() { std::variant<int, std::string> v = "abc"; assert(not std::holds_alternative<int>(v)); assert(std::holds_alternative<std::string>(v)); }
[编辑] 另请参阅
返回 variant 所包含的备选方案的零基索引(公共成员函数) | |
(C++17) |
根据索引或类型(如果类型是唯一的)读取变体的值,在错误时抛出异常 (函数模板) |