Re[7]: Про перемещение (на примере кода)
От: rg45 СССР  
Дата: 16.03.25 19:45
Оценка:
Здравствуйте, Shmj, Вы писали:


S>Т.е. оно в принципе можно и std::option<std::reference_wrapper<Obj1>> писать и получить фактически те же удобные ссылки без доп. нагрузки на управление памятью


Угу, а можно на потолке спать. Ты, походу, вообще предмет не просекаешь, раз пишешь эту дичь.

Если хочешь, чтоб я тебе пояснил, чего именно ты не понимаешь, перепиши вот этот свой фрагмент с использованием std::option<std::reference_wrapper<Obj1>> и я подробно тебе всё разжую. А может, дойдешь самостоятельно.

class Wrapper {
private:
    TrackedClass _trackedClass;
    
public:
    Wrapper() : _trackedClass(1) {
    }
    
    TrackedClass&& take() {
        return std::move(_trackedClass);;
    }
};

TrackedClass&& fun1() {
    Wrapper w = Wrapper();
    return w.take();
}
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 16.03.2025 20:20 rg45 . Предыдущая версия . Еще …
Отредактировано 16.03.2025 19:54 rg45 . Предыдущая версия .
Отредактировано 16.03.2025 19:49 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.