Строковые константы

Строковые константы

Строковые константы (а точнее, разделяемые строковые объекты) объявляются в языках программирования в манифестной форме с использованием двойных кавычек. Это находит отражение в правилах языка, и как следствие любой компилятор предполагает присутствие в библиотеке класса STRING. Это - своего рода компромисс между "полярными" решениями.

[x]. STRING рассматривается как встроенный тип, каким он является во многих языках программирования. Это означает введение в язык операций над строками: конкатенации, сравнения, выделения подстроки и других, что усложняет язык. Преимуществом введения такого класса является возможность снабдить его операции точными спецификациями, благодаря утверждениям, и способность порождать от него другие классы.

[x]. STRING рассматривается как обычный класс, создаваемый разработчиком. Тогда задавать его константы в манифестной форме [S1] уже нельзя, от разработчиков потребуется соблюдение формата [S2]. Кроме того, данный подход препятствует оптимизации компилятором таких операций, как прямой доступ к символам строки.

Поэтому строки STRING, как и массивы ARRAY, ведут "двойную жизнь", принимая вид предопределенного типа при задании констант и оптимизации кода, и становясь классом, когда речь заходит о гибкости и универсальности.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Строковые функции

Из книги автора

Строковые функции chrВозвращает один символ с определенным кодом.Синтаксис:string chr(int ascii)Возвращает строку из одного символа с кодом $code. Эта функция полезна для вставки каких-либо непечатаемых символов в строку - например, кода нуля или символа прогона страницы, а также при


Строковые суммы и хеш-функции

Из книги автора

Строковые суммы и хеш-функции strlenВозвращает длину строки.Синтаксис:int strlen(string str)Возвращает просто длину строки, т.е., сколько символов содержится в str.Строка может содержать любые символы, в том числе и с нулевым кодом. Функция strlen() будет правильно работать и с такими


Константы

Из книги автора

Константы Константы определяются до переменных, например:CONST PI=3.14159;VAR R, L :


Константы

Из книги автора

Константы Примеры описания констант:int: 17;float:


Строковые типы

Из книги автора

Строковые типы В языке Object Pascal используются два обобщенных строковых типа:• String — если в проекте Delphi указана директива компилятора {$H+} (поддержка больших строк), то этому типу соответствуют строки длиной от 0 до 2147483648 символов; в противном случае типу String соответствуют


Строковые операторы

Из книги автора

Строковые операторы Строковые операторы применяются к операндам строкового или символьного типа:• =, <>, <, >, <=, >= — операторы сравнения;• + — оператор конкатенации (слияния


Константы

Из книги автора

Константы Константа — это число, символ или строка символов. Константы используются в программе для задания постоянных величин. В языке Си различают четыре типа констант: целые, с плавающей точкой, символьные константы и символьные


Константы

Из книги автора

Константы Операнду-константе соответствует значение и тип представляющей его константы. Типы констант подробно описаны в разделе 1.2. Символьная константа имеет тип int. Целая константа имеет один из следующих типов: int, long, unsigned int или unsigned long, в зависимости от размера


3.4. Строковые типы

Из книги автора

3.4. Строковые типы В С++ поддерживаются два типа строк – встроенный тип, доставшийся от С, и класс string из стандартной библиотеки С++. Класс string предоставляет гораздо больше возможностей и поэтому удобней в применении, однако на практике нередки ситуации, когда


2.4 Константы

Из книги автора

2.4 Константы С++ дает возможность записи значений основных типов: символьных констант, целых констант и констант с плавающей точкой. Кроме того, ноль (0) может использоваться как константа любого указательного типа, и символьные строки являются константами типа char[]. Можно


6.4 Константы

Из книги автора

6.4 Константы Константы классового типа определить невозможно в том смысле, в каком 1.2 и 12e являются константами типа double. Вместо них, однако, часто можно использовать константы осноных типов, если их реализация обеспечивается с помощью фунций членов. Общий аппарат для