Size: a a a

2020 December 05

АР

Андрей Руссков... in pro.cxx
какая разница? Если для себя не хочешь делать красиво то для какого-то там прода точно не захочется )
источник

CD

Constantine Drozdov in pro.cxx
hazer_hazer
Привет. Это норм практика? (смарт поинтеры — неважно)
struct A {
   static std::shared_ptr<A> get_A() {
       return std::make_shared<A>();
   }
};
в качестве member function - точно нет, при nonmember организации это имеет смысл
источник

CD

Constantine Drozdov in pro.cxx
там
class some_type {
  //blahblah
};
using some_ptr = std::shared_ptr<some_type>;
some_ptr create_some(); /*make_shared*/
namespace some {
   some_ptr make_special1(a, b, c);
   some_ptr make_special2(d, e, f);
}
источник

АР

Андрей Руссков... in pro.cxx
ну у тебя критерий чисто с точки зрения печатных знаков
источник

АР

Андрей Руссков... in pro.cxx
статический метод класса отличается от метода в namespace'е только тем, что namespace в отличие от имени класса не всегда обязательно указывать
источник

CD

Constantine Drozdov in pro.cxx
Андрей Руссков
ну у тебя критерий чисто с точки зрения печатных знаков
Не совсем, это всё-таки более сишная организация кода, и some_type в целом более details
источник

АР

Андрей Руссков... in pro.cxx
а нужна она, эта сишная организация кода?
источник

АР

Андрей Руссков... in pro.cxx
это может иметь реальный смысл разве что если хочешь спрятать класс за интерфейсом
источник

АР

Андрей Руссков... in pro.cxx
типа
shared_ptr<IFoo> MakeFoo();
источник

CD

Constantine Drozdov in pro.cxx
Андрей Руссков
это может иметь реальный смысл разве что если хочешь спрятать класс за интерфейсом
я прячу его частые операции за сишным интерфейсом
источник

АР

Андрей Руссков... in pro.cxx
чтобы делать сишную либу?
источник

CD

Constantine Drozdov in pro.cxx
Андрей Руссков
чтобы делать сишную либу?
Чтобы иметь менее существенную связь
источник

АР

Андрей Руссков... in pro.cxx
потому что кодить на плюсах одними C-compatible типами/методами я бы никому не пожелал
источник

CD

Constantine Drozdov in pro.cxx
Андрей Руссков
чтобы делать сишную либу?
Заметь что я не обязан знать class definition для некоторых запросов
источник

CD

Constantine Drozdov in pro.cxx
Например, create_some его не требует
источник

АР

Андрей Руссков... in pro.cxx
это может быть плюсом, но это редко нужно же
источник

CD

Constantine Drozdov in pro.cxx
Андрей Руссков
это может быть плюсом, но это редко нужно же
Что это менее жесткая форма связи ты согласен? :)
источник

АР

Андрей Руссков... in pro.cxx
да. Пусть и менее предпочтительная
источник

АР

Андрей Руссков... in pro.cxx
у нас кодстайл не приветствует forward declaration например
источник

CD

Constantine Drozdov in pro.cxx
Предпочтительность зависит от конкретных условий
источник