Я считаю, что for_each определяется в стандартном пространстве имен, но этот код фактически компилируется и выполняется со следующими флагами компилятора. Может кто-нибудь объяснить, почему?
//@filename myprog.cpp
//g++-4.5 --std=c++0x myprog.cpp
#include<iostream>
#include<algorithm>
int main()
{
std::vector<int> v{1,2,3,4,5};
std::cout<<"printing the number\n";
for_each(v.begin(),v.end(),[](int num) {//no std::for_each
std::cout<<num<<"\t";
});
return 0;
}