当前位置: 首页 > 知识库问答 >
问题:

如何比较两种STD::ANY?

段志
2023-03-14

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
}

共有1个答案

薛兴德
2023-03-14

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

if(std::any_cast<std::string>(str1) == std::any_cast<std::string>(str2)) 
  // ...
 类似资料:
  • 问题内容: 我有两个。每个大小为100000。我想比较它们并计算匹配的元素。 这是我的代码: 在这里比较过程要花费很多时间。 如何解决和优化此问题。 问题答案: 您应该使用:返回一个包含collection1中所有元素的集合,这些元素也处于collection2中。

  • 我正在开发一个语音信息应用程序,我需要比较两个声音, 通过录制语音向应用程序注册 通过录制语音向另一用户发送语音信息,但首先需要将此语音与配置文件中录制的语音进行比较 出于安全目的,需要知道记录的消息是否来自特定用户。 我试过了: 比较Android中的两种声音 http://www . dream incode . net/forums/topic/274280-using-FFT-to-com

  • 问题内容: 我必须比较两个对象(不是)。比较它们的规范方法是什么? 我可以想到: 该运营商只比较基准,因此这将仅适用于较低的整数值的工作。但是也许自动装箱开始了…? 这看起来像一个昂贵的操作。是否以此方式计算出哈希码? 有点冗长… 编辑: 谢谢您的答复。尽管我现在知道该怎么办,但事实已分布在所有现有答案(甚至是已删除的答案)上,我也不知道该接受哪个答案。因此,我将接受最佳答案,即所有三种比较可能性

  • 问题内容: 如何使用Python比较两个日期以查看稍后的日期? 例如,我想检查当前日期是否超过了我创建的假期日期列表中的最后日期,因此它将自动发送电子邮件,告诉管理员更新holiday.txt文件。 问题答案: 使用方法和运算符及其种类。

  • 问题内容: 两个日期比较,但时间比较不正确。这是我的密码 我该如何比较两次。在数据库中的日期和时间字段不同。请帮助我。 问题答案:

  • 问题内容: 我有两个从同一类实例化的java对象。 如果我将它们的两个属性都设置为完全相同的值,然后验证它们是否相同 但是,这些方法都不返回真实值。我已经检查了每个属性,并且它们匹配。 如何比较这两个对象以验证它们是否相同? 问题答案: 你需要提供自己的实现。 如果哈希表中有可能使用你的对象,则还应该重写。一个合理的实施将是该对象的字段的哈希码喜欢的东西结合起来: