std::holds_alternative
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    |   定义于头文件  <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
 | 
返回值
若 variant 当前保有可选项 T 则为 true ,否则为 false 。
示例
运行此代码
#include <variant> #include <string> #include <iostream> int main() { std::variant<int, std::string> v = "abc"; std::cout << std::boolalpha << "variant holds int? " << std::holds_alternative<int>(v) << '\n' << "variant holds string? " << std::holds_alternative<std::string>(v) << '\n'; }
输出:
variant holds int? false variant holds string? true
参阅
  返回 variant 所保有可选项的零基下标 (公开成员函数)  | |
|    (C++17)  | 
  以给定索引或类型(若类型唯一)读取 variant 的值,错误时抛出异常  (函数模板)  |