【发布时间】:2021-07-12 09:29:48
【问题描述】:
最近我发现了一个代码,其中使用了关键字and,其工作方式类似于&&。那么它们是一样的还是有什么特定的使用条件呢?
【问题讨论】:
-
and是&&的替代名称。 -
你甚至可以写像
void foo(std::string and s)这样的暴行:-/ -
@Jarod42 信不信由你,我曾经在正式的代码审查中遇到过这样的案例。我还是不寒而栗。还有一次我有人抱怨编译器发出一个错误,大意是
X::operator&&(const X &) const无法为某些类X重载 - 结果他试图同时提供X::operator&&(const X &) const和X::operator and(const X &) const- 相信他们不同。 -
@Peter:集中体现了
&&和and不是等价运算符而是等价的tokens 的误解。出于这个原因,我决定回答
标签: c++ operator-keyword