AS>У всех стандартных базовых классов есть ложечка дерьма — отсутствие виртуальных деструкторов. Потому и не часто от них любят наследоваться.
Я бы всем этим basic_string, vector и т.д. final бы прописал...
Любая виртуальная функция в т.ч. деструктор — это sizeof(void*) лишней памяти на инстанс.
Вот мне такой непродуктивный расход нафиг не нужен на таких мелких и везде употребимых классах.