Мы неоднократно подчеркивали, что тип String имеет фиксированную длину. Что же делать, если нам действительно необходимо изменять длину строки?
Один путь решения состоит в создании строки, достаточно длинной для того, чтобы уместить максимально необходимое количество символов в типе String и использовать отдельную переменную для хранения количества используемых символов в строке. Такое решение годится, когда реальные длины строк в среднем близки к максимальной длине строки, а максимальная длина может быть предопределена. Та же ижея заложена в основу типа Bounded_String, который мы упоминали.
Другой путь состоит в создании переменной "ссылки (указателя) на строку" (мы еще не обсуждали "ссылочных" типов, хотя в Ada они есть). Такая переменная будет очень похожа на переменную типа char * в C и C++. Но, в отличие от C и C++, в языке Ada имеется ряд встроенных механизмов защиты для ссылочных строчных типов. По причине того, что строки переменной длины встречаются достаточно часто, в Ada 95 существует предопределенный тип Unbounded_String, который делает часть работы за программиста. Unbounded_String обычно реализован с использованием типа String. Таким образом, мы перейдем к обсуждению типа Unbounded_String, а "ссылочные строчные" типы обсудим позднее.
Вы можете перейти к следующему разделу.
Вы можете также:
Вернуться к вопросу | Вернуться к содержанию Урока 8 |
---|
Исходная копия этого документа находится по адресу "http://www.adahome.com/Tutorials/Lovelace/s8s4r1.htm".
Исходная копия перевода размещена на сайте http://www.ada-ru.org