захват переменной-члена по значению

Как мне поймать переменную-член по значению при использовании лямбда-выражений C ++ 11?

Использование синтаксиса [my_member] , похоже, не помогает работают, а неявный захват использует указатель this . Что необходимо, так это способ явно указать тип захвата переменных-членов. Возможно ли это?

Мой обходной путь на данный момент таков:

void member_function()
{
    std::shared_ptr<my_member_class> my_member_copy = my_member; // this shouldn't be necessary
    std::async([=]{ std::cout << *my_member_copy; });
    // std::async([=]{ std::cout << *my_member_; }); // wrong, my member could be potentially out of scope
}
9
задан Xeo 19 December 2011 в 00:12
поделиться