【问题标题】:Are == and != operators compiler-generated? [closed]== 和 != 运算符是编译器生成的吗? [关闭]
【发布时间】:2013-03-21 18:32:49
【问题描述】:

我需要提供 == 和/或 != 运算符吗?我在这里读过:Why don't C++ compilers define operator== and operator!=? 我这样做了,但是当我实际尝试它(没有提供它们并尝试使用它们)时,程序编译得很好。那到底是怎么回事?

如果重要,请使用 VS2010。

【问题讨论】:

  • 认为这是 C++11 的特性,所以需要新的编译器。
  • 你确定这是类比较吗?
  • 向我们展示您的代码如何?前几天我的水晶球坏了,很难猜到你做了什么;)

标签: c++ equals-operator


【解决方案1】:

这些运算符是为基本的、语言定义的类型定义的,而不是为您的自定义类型定义的。例如,它适用于ints。但class foo; 不会,除非您明确提供它们 - 如果您没有告诉它如何做,编译器不知道如何比较您自己定义的类型。

【讨论】:

  • 这些不是为浮点数和指针定义的吗?
  • @H2CO3 当然。 int 就是一个例子
  • @icepack:但是您说“对于整数类型”,浮点类型和指针不是整数。 :)
  • 我已经编辑过了,谢谢 :)
猜你喜欢
  • 2010-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
  • 1970-01-01
相关资源
最近更新 更多