Size: a a a

2020 May 09

I

Ivan in pro.cxx
Vladimir
Это вариант но не хорошо так делать в std::string нету виртуального деструкора и код базе есть места где используется указатель на std::string так что хочется по дальше от греха
Вообще плохо наследоваться от std контейнеров. Не понимаю почему они до сих пор не final
источник

D

Danya in pro.cxx
Ivan
Вообще плохо наследоваться от std контейнеров. Не понимаю почему они до сих пор не final
Я думаю, они не final, потому что могут поломать существующий код
источник

DC

Denis Chernikov in pro.cxx
Ivan
Вообще плохо наследоваться от std контейнеров. Не понимаю почему они до сих пор не final
А можно обоснования, пожалуйста? (Я недостаточно просвещён в причинах, простите)
источник

D

Danya in pro.cxx
Denis Chernikov
А можно обоснования, пожалуйста? (Я недостаточно просвещён в причинах, простите)
Ну если ты будешь использовать свой класс в полиморфном контексте, то у тебя будут утечки памяти, потому что деструктор базового класса не virtual
источник

D

Danya in pro.cxx
Да и в целом это попахивает
источник

D

Danya in pro.cxx
Inheritance is overrated
источник

DC

Denis Chernikov in pro.cxx
Danya
Ну если ты будешь использовать свой класс в полиморфном контексте, то у тебя будут утечки памяти, потому что деструктор базового класса не virtual
А если не полиморфно, а просто для перенятия функционала?
источник

DF

Dollar Føølish in pro.cxx
Тогда тебе можно сделать композицию
источник

DF

Dollar Føølish in pro.cxx
Или агрегацию
источник

DF

Dollar Føølish in pro.cxx
Как она называется
источник

D

Danya in pro.cxx
Denis Chernikov
А если не полиморфно, а просто для перенятия функционала?
Этого уже не знаю
источник

DF

Dollar Føølish in pro.cxx
Не полиморфно можно
источник

DC

Denis Chernikov in pro.cxx
Dollar Føølish
Тогда тебе можно сделать композицию
И писать руками весь интерфейс? 🤔
источник

DF

Dollar Føølish in pro.cxx
Просто приватно наследуешься и все
источник

DF

Dollar Føølish in pro.cxx
Так ты же не говорил про интерфейс
источник

DC

Denis Chernikov in pro.cxx
Dollar Føølish
Просто приватно наследуешься и все
Тогда не будет этого функционала извне
источник

DC

Denis Chernikov in pro.cxx
Dollar Føølish
Так ты же не говорил про интерфейс
Ну, я вижу логичным это, но согласен
источник

D

Danya in pro.cxx
Dollar Føølish
Просто приватно наследуешься и все
Скорее protected
источник

DC

Denis Chernikov in pro.cxx
Danya
Скорее protected
+
источник

DF

Dollar Føølish in pro.cxx
Да
источник