Аннотация:
Малое время выполнения операций сравнения и копирования строк является необходимым условием разработки приложений, быстродействие которых определяется скоростью синтаксического анализа и генерации текстовых файлов значительного объема. В качестве примера подобного приложения в статье рассмотрена графическая система визуализации, предназначенная для создания, редактирования, обработки и воспроизведения в реальном времени векторных графических схем открытого текстового формата, перечислены ее функциональные возможности, реализуемые при наличии надежной быстродействующей строковой системы. Предложен подход к проектированию ASCII строковой системы, основанный на широком использовании подстроки как универсального аргумента ее функций, который делает возможным реализацию операций сравнения и копирования строк, быстрых настолько, насколько позволяют низкоуровневые средства стандартной библиотеки C++, в том числе за счет значительного снижения числа обращений к динамической памяти. Определены классы «подстрока» и «строка». Описаны их ключевые свойства и методы. Приведено обоснование выбора низкоуровневой функции сравнения подстрок. Отмечены особенности настройки применения встроенных функций компилятора при разработке строковой системы. Представлен результат оценки быстродействия спроектированного строкового типа в соотнесении с аналогами, предлагаемыми разработчиками библиотек STL и Qt. Библиогр. 3 назв. Ил. 3.