gpt4 book ai didi

c++ - Boost Variant 是否提供与 std 的 holds_alternative 类似的功能?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:13 30 4
gpt4 key购买 nike

我在 cppreference.com 上找到了这段代码。我想知道 boost 是否为其变体类型提供了类似的功能。我发现 boost 文档真的很糟糕,找不到任何东西。

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';
}

最佳答案

虽然不完全一样,但是可以使用基于指针的get函数:

boost::variant<int, std::string> v = "abc";

std::cout << std::boolalpha
<< "variant holds int? "
<< (boost::get<int>(&v) != nullptr) << '\n'
<< "variant holds string? "
<< (boost::get<std::string>(&v) != nullptr) << '\n';

关于c++ - Boost Variant 是否提供与 std 的 holds_alternative 类似的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51764088/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com