Здравствуйте, 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();
}