Boost lambda::_1 in C++ 0x


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");
} 

这段代码可以在不使用Boost的情况下翻译成c++吗?我知道c++ 0x lambda表达式语法,但没有尝试在这种上下文中使用占位符。

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

std::for_each(v.begin(), v.end(), [](int x){std::cout << x << "n";});

相关内容

  • 没有找到相关文章

最新更新