Информация об изменениях

Сообщение Re[7]: Про перемещение (на примере кода) от 16.03.2025 19:45

Изменено 16.03.2025 19:54 rg45

Re[7]: Про перемещение (на примере кода)
Здравствуйте, Shmj, Вы писали:


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


Угу, а можно на потолке спать. Ты, походу, вообще предмет не просекаешь, раз пишешь эту дичь.
Re[7]: Про перемещение (на примере кода)
Здравствуйте, 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();
}