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 <iostream> #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 的值,错误时抛出异常 (函数模板) |