gpt4 book ai didi

c++ - C++ 中的运算符调用语法

转载 作者:可可西里 更新时间:2023-11-01 17:35:38 24 4
gpt4 key购买 nike

是否可以出现语法错误的情况

if (first == second) // ...

和那个有区别吗?

if (first.operator==(second)) // ...

我不这么认为,只是想知道。

最佳答案

a == b

有时等同于

a.operator==(b)

有时相当于

operator==(a,b)

有时两者都不等价,如果意义最终成为非类类型的 == 的“内置”意义。

每当编译器看到 == 时,如果至少有一个类型涉及用户定义类型,它会搜索成员运算符(不得隐藏在 a 的范围内) > 的类类型)和非成员运算符(使用参数相关查找)和内置含义(因为一个类可能通过内置比较隐式转换为普通类型)。如果不止一个是有意义的,那就去解决重载问题的规则。

关于c++ - C++ 中的运算符调用语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13127080/

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