在C++ 0x中提升lambda :: _ 1

Ale*_*x F 5 c++ lambda boost placeholder c++11

int main() 
{ 
    std::vector<int> v; 
    v.push_back(1); 
    v.push_back(3); 
    v.push_back(2); 

    std::for_each(v.begin(), v.end(), std::cout << boost::lambda::_1 << "\n");
} 
Run Code Online (Sandbox Code Playgroud)

可以在不使用Boost的情况下将此代码转换为C++吗?我知道C++ 0x lambda表达式语法,但没有尝试在这样的上下文中使用占位符.

Die*_*lla 10

在这种情况下不需要占位符,因为lambdas捕获参数:

std::for_each(v.begin(), v.end(), [](int x){std::cout << x << "\n";});
Run Code Online (Sandbox Code Playgroud)