C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了operator == C中的订单大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_2@
在操作符订购时是否有任何不同?=?

我遇到了@L_197_1@旧的试,其中说:

在这种情况下,it1是某种类型IT1的迭代器,而it2是某种类型IT2的迭代器. IT1 it1和IT2 it2作为函数的参数,其中IT1可以与IT2相同.示例代码

template <typename IT1,typename IT2>
bool f(IT1 it1,IT2 it2) {
    return *it1 == *it2;
}

有什么想法吗?在我看来,顺序不应该影响operator ==的结果,所以我很困惑.

解决方法

实际上,运算符重载可能会产生意外结果.虑以下:

#include <iostream>

class Bar;

class Foo {
public:
    Foo() {}
    int operator==(const Bar& bar) { std::cout << "foo == bar\n"; return 0; }
};

class Bar {
public:
    Bar() {}
    int operator==(const Foo& foo) { std::cout << "bar == foo\n"; return 0; }
};

int main()
{
    Foo foo;
    Bar bar;

    foo == bar; // prints "foo == bar"
    bar == foo; // prints "bar == foo"

    return 0;
}

这里实际上有两个不同的运算符==被调用.

@H_502_2@

大佬总结

以上是大佬教程为你收集整理的operator == C中的订单全部内容,希望文章能够帮你解决operator == C中的订单所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。