Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Обычно представляются массивами



LASCII

· встроенные в Turbo Pascal (макс. размен 255 фиксирован)

· короткие в Delphi

· C++

· иногда короткие локально, а длинные в куче

ASCIIZ

· C

Как хранилась в турбо паскале. По умолчанию там все с 1 начинается. Но строки были с нулевого битика.

Где и как?

Используются многими современными объектно - ориентированными системами, такими как.NET, Java, Python и т.д.

Представляют собой объекты, инкапсулирующие массив символов, но не дающие его изменять.

Преимущества и недостатки.

Очень быстро копируются, т.к. копируются только ссылки, одинаковые строки могут храниться в одной и той же памяти.

При любом изменении строки приходится создавать новый объект с новой строкой.

Для конкатенации длинных строк принято использовать специальные объекты класса StringBuffer (Java) или StringBuilder (.NET), реализующие изменяемые строки.

Экономия.

Разные объекты строкового тип могут ссылаться на фрагменты массивов (указывать в середину и хранить небольшое значение длины). Это требует аккуратного управления выделением памяти и возможности программирования на уровне C.

.NET иногда делает подобные оптимизации.

Строки также можно представлять в виде списков. Это можно рассмотреть на пример Haskell.

· Ленивость потенциально позволяет работать с бесконечными строками, например, с потоками текста.

· Преимущества неизменяемых строк, в т.ч. хвост строки без копирования.(не копируем, а берем сразу)

· Скорость доступа к отдельным символам сильно зависит от того, как система оптимизирует работу со списками.

· Конкатенация совсем не быстрая.





Дата публикования: 2015-02-20; Прочитано: 172 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...