命名空间
变体
操作

std::holds_alternative

来自 cppreference.cn
< cpp‎ | utility‎ | variant
 
 
 
 
定义于头文件 <variant>
template< class T, class... Types >
constexpr bool holds_alternative( const std::variant<Types...>& v ) noexcept;
(C++17 起)

检查变体 v 是否持有替代类型 T。如果 TTypes... 中没有且仅出现一次,则此调用格式错误。

目录

[编辑] 参数

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 所持可选类型的零基索引
(public member function) [编辑]
根据索引或类型(如果类型唯一)读取变体的值,出错时抛出异常
(function template) [编辑]