7

我发现 boost 中的代码类似于:

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

...

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

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

4

1 回答 1

12

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

于 2013-11-06T11:58:25.277 回答