История изменений
Исправление KivApple, (текущая версия) :
У std::string, как и std::vector, std::map и прочих контейнеров нет виртуальных методов (у их итераторов тоже), а следовательно и vtable. Большая часть полиморфизма в STL статическая на шаблонах. Динамический полиморфизм используется очень ограниченно - исключения, потоки ввода-вывода и ещё по мелочи. Короче, и так тормозные вещи, которые косвенным вызовом сложно испортить.
Исправление KivApple, :
У std::string, как и std::vector, std::map и прочих контейнеров нет виртуальных методов, а следовательно и vtable. Большая часть полиморфизма в STL статическая на шаблонах. Динамический полиморфизм используется очень ограниченно - исключения, потоки ввода-вывода и ещё по мелочи. Короче, и так тормозные вещи, которые косвенным вызовом сложно испортить.
Исправление KivApple, :
У std::string, как и std::vector, std::map и прочих контейнеров нет виртуальных методов, а следовательно и vtable. Большая часть полиморфизма в STL статическая на шаблонах. Динамический полиморфизм используется очень ограниченно - исключения, потоки ввода-вывода и ещё по мелочи.
Исправление KivApple, :
У std::string, как и std::vector, std::map и прочих контейнеров нет виртуальных методов, а следовательно и vtable. Большая часть полиморфизма в STL статическая на шаблонах. Динамический полиморфизм используется очень ограниченно.
Исправление KivApple, :
У std::string, как и std::vector нет виртуальных методов, а следовательно и vtable. Большая часть полиморфизма в STL статическая на шаблонах. Динамический полиморфизм используется очень ограниченно.
Исходная версия KivApple, :
У std::string, как и std::vector нет виртуальных методов, а следовательно и vtable. Большая часть полиморфизма в STL статическая на шаблонах. Динамический полиморфизм используется очень ограниченно (например, для std::any, который, очевидно, иначе не сделать, ибо это вся его соль).