使用C++调用函数时在函数名周围加上括号

9

我在boost中找到了类似以下代码的内容:

class A
{
    stats stat;
public:
    int min() const{ return (stat.min)(); }
};

...

int stats::min()
{
...
}

为什么这里需要用括号?我知道它可以用于“最恼人的解析”和禁止ADL。但还有其他方面吗?感谢您的帮助!

你是指 return (stat.min)(); 语句中的 (stat.min) 吗?除非原始编码者不相信运算符优先级会做正确的事情(它确实会),否则完全没有必要使用它们。 - Some programmer dude
它并没有做任何事情。他们可能习惯于在函数名上加括号以避免 ADL,结果也在这里使用了它们。 - Simple
交叉引用:https://dev59.com/BWAf5IYBdhLWcg3w7mj3 - TemplateRex
1个回答

14

哦耶!非常感谢!我不知道是否可以投票,但我想给你最高的评价! - user2319183

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接