std::holds_alternative
来自 cppreference.cn
定义于头文件 <variant> |
||
template< class T, class... Types > constexpr bool holds_alternative( const std::variant<Types...>& v ) noexcept; |
(自 C++17 起) | |
检查 variant v 是否保有类型为 T
的值。如果 T
在 Types...
中出现次数不是恰好一次,则调用为病式。
内容 |
[编辑] 参数
v | - | 要检查的 variant |
[编辑] 返回值
true 如果 variant 当前保有类型为 T
的值,否则为 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) |
读取 variant 的值,给定索引或类型(如果类型是唯一的),错误时抛出异常 (函数模板) |