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

S>А это переводит нас к вопросу: https://rsdn.org/forum/flame.comp/8890541.flat
Автор: Shmj
Дата: 30.01.25


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


S>Но! Добавляется невыразительность и угловатость кода на пустом месте.


А, вот ты о чём. Тоже мне, проблема. Алиасы же есть:

using TrackedClassPtr = std::shared_ptr<TrackedClass>;

class Wrapper {
private:
    TrackedClassPtr _trackedClass;
    
public:
// . . .    
    TrackedClassPtr get() const { return _trackedClass; }
};

TrackedClassPtr fun1() {
    Wrapper w = Wrapper();
    return w.get();
}
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.