使用 C++ 调用函数,其名称两边带有括号

Calling function with parenthesis around its name using C++

本文关键字:调用 C++ 函数 使用      更新时间:2023-10-16

我在boost中发现了类似于以下内容的代码:

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

为什么括号在这里?我知道它可以用于"最烦人的解析"并禁止 ADL。但也许别的什么?提前感谢!

这样做是因为Windows.h(Windows平台)对最小值和最大值都有 #defines。有关更多信息,请参阅此处:如何驯服 Windows 标头(有用的定义)?和 https://stackoverflow.com/a/13420838/297451