- 0
✩
0
Наследование от STL контейнеров
Подскажите пожалуйста есть ли какие-нибудь подводные камни при наследовании стандартных контейнеров STL, таких как vector или map?
300
1 ответ:
-
- 1
Самый большой подводный камень - это их невиртуальные деструкторы. Тут лучше воспользоваться композицией, сделав обёртки для функций контейнера. А если обёрток нужно много, то лучше вообще пересмотреть архитектуру данной части проекта.
Не принято как-то наследоваться от контейнеров стандартной библиотеки, но никто не говорит, что невозможно... Тут всё от задачи сильно зависит. А иногда и от компилятора.