我有一个简短的问题。有没有一种方法可以强制标准名称空间具有std::
范围限定符?类似abs
之类的东西;所有std
函数都必须定义其范围。
我不在任何地方using namespace std
我也不在using std::abs
之类的东西。可能要说我包含了Windows.h
可能很重要,我认为这可能是其中一些不受范围限制的函数的来源。
最佳答案
该标准不禁止其他名称空间具有名为abs
的函数,只是因为abs
名称空间中有名为std
的函数。在std
名称空间中定义的所有其他函数都是如此。
如果要确定使用std::abs
。而不是abs
的任何其他版本,则一定要使用std::abs
。然后,在abs
头文件中是否定义了windows.h
的其他版本并不重要。
关于c++ - 强制标准命名空间的命名空间范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54799079/