5
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");
}
Mã này có thể được dịch sang C++ mà không cần sử dụng Boost không? Tôi biết cú pháp biểu thức lambda C++ 0x, nhưng không cố gắng sử dụng trình giữ chỗ trong ngữ cảnh như vậy.Tăng lambda :: _ 1 trong C++ 0x
Xem xét sử dụng [] thay vì [=], kể từ khi bạn không nắm bắt bất cứ điều gì. Điều đó sẽ ngăn chặn các lỗi sau này khi bạn cố gắng nắm bắt các biến. –
Đúng. Đã sửa. –