ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 7) онлайн

Другие методы класса string

Мы видели, что методы size() и length() возвращают число символов строки объ- екта класса string. Количество памяти, занятое строкой, обычно больше, чем в действительности это необходимо. (Хотя если строка не была инициализирова- на, то она использует для символов 0 байтов.) Метод capacity() возвращает дейст- вительное количество занятой памяти. Вы можете добавлять символы в строку, не добавляя памяти в нее до тех пор, пока этот лимит не будет исчерпан. Метод max_size() возвращает максимально возможный размер объекта класса string. Это количество будет на три байта меньше, чем максимальное значение переменной типа int в вашей системе. В 32-битной Windows системе это 4 294 967 293 байта, но размер памяти будет, возможно, ограничен этим количеством.

Многие из методов класса string, которые мы обсудили, имеют варианты, отличающиеся количеством и типом аргументов. Обратитесь к документации вашего компилятора для выяснения деталей.

Вы должны знать, что объекты класса string не заканчиваются нулевым сим- волом, как это происходит в строковом типе. Вместо этого у нас есть перемен- ная класса, хранящая длину строки. Поэтому, если вы будете просматривать строку, то не надейтесь найти в ней нулевой символ, обозначающий конец строки.

Класс string — в действительности только один из возможных строковых классов, производных от класса-шаблона basic_string. Класс string основан на ти- пе char, но общий вариант использует тип wchar_t. Это позволяет классу basic_ string использоваться при работе с другими языками, имеющими больше симво- лов, чем в русском. Файлы помощи вашего компилятора могут содержать спи- сок функций класса string в классе basic_String.

 

34