gpt4 book ai didi

c++ - 如何比较两个 std::any?

转载 作者:行者123 更新时间:2023-12-04 01:04:59 25 4
gpt4 key购买 nike

std::any 没有运算符==
我是否遗漏了一些明显的东西,或者我真的需要谋生吗?
有没有一些简单的方法来提供运营商?
https://godbolt.org/z/rdoWrcnTs

// Example program
#include <iostream>
#include <string>
#include <any>

int main()
{
auto str1 = std::make_any<std::string> ("Hello");
auto str2 = std::make_any<std::string> ("World");

if(str1 == str2) std::cout << "same"; // error
}

最佳答案

没有直接的方法来比较 std::any 的两个对象因为底层类型可能不一样。如果你知道它们是一样的,你可以写:

if(std::any_cast<std::string>(str1) == std::any_cast<std::string>(str2)) 
// ...

关于c++ - 如何比较两个 std::any?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66802132/

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