Увеличить лямбда :: _ 1 в C ++ 0x - PullRequest
5 голосов
/ 28 августа 2011
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");
} 

Можно ли перевести этот код на C ++ без использования Boost?Я знаю синтаксис лямбда-выражений C ++ 0x, но не пытался использовать заполнители в таком контексте.

1 Ответ

10 голосов
/ 28 августа 2011

В этом случае не требуется заполнитель, поскольку лямбда-выражения захватывают параметр:

std::for_each(v.begin(), v.end(), [](int x){std::cout << x << "\n";});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...