static std::shared_ptr<A> get_A() {
return std::make_shared<A>();
}
};
Это по-сути замена более Сишного варианта функций в стиле "make_something()"... Но тут ещё волнует такой кейс: struct A { static std::shared_ptr<A> get_A() { static const auto single_instance = std::make_shared<A>(); return one_instance; } };
блин. я только что просто описал singleton на плюсах. извините за бесспокойство. спать пора походу...
Только не понятно зачем shared_ptr
ага, причем не шибко-то эффективный )
это в большей степени повышает когнитивную нагрузку чем помогает. Статические make-функции (не принадлежащие фабрике) имеет смысл делать если ты перед конструированием объекта хочешь например обратиться в синглтон за каким-то параметром конструктора, или сделать что-то другое нетривиальное, хз.
Ну, у меня не продовский код, а просто личный проект, и мне показалось, что так красивее будет
в качестве member function - точно нет, при nonmember организации это имеет смысл
Обсуждают сегодня