Если я использую лямбда-exppr в методе, тогда я хочу вызвать другой метод, тогда я должен захватить `this` по значению или по ссылке? - PullRequest
1 голос
/ 22 января 2020

По образовательным причинам я решил создать класс, имитирующий std::string.

  • У меня есть метод с именем append, который я реализовал следующим образом:

    template<class T, class U>
    inline String& String::append(T b, U e)
    {
        std::for_each(b, e, [this](char c) {push_back(c); }); // [&] or this?
    
        return *this;
    }
    

Так что мне нужен доступ this указатель внутри лямбда-exppr, поэтому я должен захватить this по значению или по ссылке? ** если по значению, то он также работает нормально.

...