C++ - lambda-capture mit dieser vs capture by reference

Wenn ich brauche, um zu erzeugen ein lambda-Ausdruck, der fordert, eine member-Funktion, sollte ich erfassen, durch einen Verweis oder capture 'das'? Mein Verständnis ist, dass '&' erfasst nur die Variablen verwendet, aber 'dies' erfasst alle member-Variablen. Also besser, zu verwenden '&'?

class MyClass {
  public:
    int mFunc() {
      //accesses member variables
    }

    std::function<int()> get() {
      //return [this] () { return this->mFunc(); };
      // or
      //return [&] () { return this->mFunc(); };
    }

  private:
    //member variables
}
InformationsquelleAutor vikky.rk | 2015-11-06
Schreibe einen Kommentar