std::holds_alternative
定义于头文件 <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 的值,错误时抛出异常 (函数模板) |