Информация об изменениях

Сообщение Re[3]: Наследоваться или инкапсулировать? от 05.09.2022 14:18

Изменено 05.09.2022 18:43 sergii.p

Re[3]: Наследоваться или инкапсулировать?
Здравствуйте, qaz77, Вы писали:

Q>Я бы всем этим basic_string, vector и т.д. final бы прописал...

Q>Любая виртуальная функция в т.ч. деструктор — это sizeof(void*) лишней памяти на инстанс.


так причём здесь final и виртуальный деструктор? Если наследоваться от std::vector, таблицы виртуальных функций не создаётся, потому как нет этих самых виртуальных функций. В данном солучае мы бесплатно получили функциональность вектора без накладных расходов (написания тонны кода).
Разговоры про виртуальный деструктор тоже мимо кассы. Ну не надо держать std::unique_ptr<std::vector>. Но никто вроде и не стремится к такому, когда наследуются от вектора.
Re[3]: Наследоваться или инкапсулировать?
Здравствуйте, qaz77, Вы писали:

Q>Я бы всем этим basic_string, vector и т.д. final бы прописал...

Q>Любая виртуальная функция в т.ч. деструктор — это sizeof(void*) лишней памяти на инстанс.


так причём здесь final и виртуальный деструктор? Если наследоваться от std::vector, таблицы виртуальных функций не создаётся, потому как нет этих самых виртуальных функций. В данном случае мы бесплатно получили функциональность вектора без накладных расходов (написания тонны кода).
Разговоры про виртуальный деструктор тоже мимо кассы. Ну не надо держать std::unique_ptr<std::vector>. Но никто вроде и не стремится к такому, когда наследуется от вектора.