for_each是海湾合作委员会的全球职能吗?

时间:2017-11-02 15:01:35

标签: c++ gcc namespaces c++14

为什么使用for_each作为全局函数可以与GCC一起使用? 我想如果我没有在我的命名空间中包含std命名空间,例如using namespace std;然后所有std函数和类都必须以std::作为前缀,但正如您所看到的,for_eachbeginend显然都是坐在全局命名空间。

为什么?

#include <algorithm>
#include <iostream>
#include <vector>

int main(int argc, const char *argv[])
{
    std::vector<int> v = { 1,2,3 };
    // Shouldn't this need to be std::for_each?
    // And std::begin and std::end??
    for_each(begin(v), end(v), [](auto i){ std::cout << i << std::endl; });
    return 0;
}

命令我跑去编译

$ g++ --version
g++ (GCC) 7.2.1 20170915 (Red Hat 7.2.1-2)
$ g++ what.cpp

0 个答案:

没有答案