什么污染了这里的全局名称空间?

时间:2018-12-01 13:54:06

标签: c++ namespaces libc++

此代码在最近的gcc和clang上编译:

#include <iterator>
#include <vector>

int main(int argc, char** argv)
{
   std::vector<int> v(20);
   fill(begin(v), end(v), 0);
   return EXIT_SUCCESS;
}

但是肯定不应该。

我不需要std::fill(std::begin(v), std::end(v), 0);吗?

有什么变化?为什么这些函数在全局名称空间中?

0 个答案:

没有答案