erfassen member-variable durch den Wert

Wie würde ich fangen eine member-variable durch den Wert bei der Verwendung von C++11 lambda-Ausdrücke?

Mithilfe der [my_member] syntax scheint nicht zu funktionieren, und der impliziten capture verwendet die this Zeiger. Was wird brauchen, ist ein Weg, um explizit anzugeben, capture-Typ von member-Variablen. Ist das möglich?

Meine Abhilfe für jetzt ist:

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
}
InformationsquelleAutor ronag | 2010-09-15
Schreibe einen Kommentar