|
Программирование >> Операторы преобразования типа
strf/?g::string (const string str. size type strjdx) string: .string (const string str. s1ze type strjdx. size type str num) О Создает новую строку, инициализированную не более чем str пит символами str, начиная с индекса strjdx. О Если аргумент str num не указан, используются все символы от позиции strjdx до конца str. О Если strJdx>str.s\zeQ, генерируется исключение out of range. strmg::string (const char* cstr) О Создает новую строку, инициализируемую содержимым С-строки cstr. О Строка инициализируется всеми символами cstr, за исключением символа \0. О Аргумент cstr не должен быть NULL-указателем. О Если размер полученной строки превьппаст максимально допустимое количество символов, генерируется исключение length error. str/ng: :string (const char* cstr. size type charsjen) О Создает новую строку, инициализируемую charsjen символами символьного массива chars. О Массив chars должен содержать не менее charsjen символов. Символы могут иметь любые значения, поэтому символ \0 не имеет особой интерпретации. О Если аргумент charsjen равен s7>::npos, генерируется исключение length error. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. string:;string (size type num. char c) О Создает строку, инициализируемую пит экземплярами символа с. О Если аргумент пит равен string:.npos, генерируется исключение length error. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. strmg: :string (Inputlterator beg. Inputlterator end) О Создает строку, инициализируемую всеми символами интервала [beg,end). О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. string:i-string () О Деструктор. О Уничтожает все символы и освобождает память. Большинство конструкторов позволяют в дополнительном аргументе передать распределитель памяти (см. с. 508). Операции с размером и емкостью Операции с размером size type string: :sizei) const s1ze type strfr/g::IengthO const О Обе функции возвращают текущее количество символов в строке. О Применительно к строкам они являются эквивалентными. О Для проверки пустых строк следует использовать функцию empty(), поскольку она может работать быстрее. bool stry/?g::empty О const О Проверяет, является ли строка пустой (то есть не содержит ни одного символа). О Эквивалент (но может работать быстрее): string;:size()==0 s1ze type strmg: :max sizeO const О Возвращает максимальное количество символов, которые могут содержаться в строке. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. Операции с емкостью size type str7/?g: :capacity О const Возвращает количество символов, которые могут храниться в строке без перераспределения памяти. void string::reserve О void string::reserve (size type num) О Вторая форма резервирует внутреннюю память, по крайней мере для пит символов. о Если пит меньше текущей емкости, вызов интерпретируется как запрос на сокращение емкости, не обязательный к выполнению. О Если пит меньше текущего количества символов, вызов интерпретируется как запрос на сокращение емкости по текущему размеру, не обязательный к выполнению. О При вызове без аргументов функция всегда интерпретируется как запрос на сокращение емкости по текущему размеру, не обязательный к выполнению. О Емкость никогда не сокращается до велечины, меньшей текущего количества символов. О При каждом перераспределении памяти становятся недействительными все ссылки, указатели и итераторы. Кроме того, перераспределение требует времени, поэтому предварительный вызов reserve() повышает скорость работы программы и сохраняет ссылки, указатели и итераторы (подробнее см. с. 469). Операции сравнения bool сравнение (const string stri. const string str2) bool сравнение (const string str. const char* cstr) bool сравнение (const char* cstr. const string str) О Первая форма возвращает результат сравнения двух строк. О Вторая и третья формы возвращают результат сравнения строки с С-строкой. О Параметр сравнение - одна из следующих операций: operator == operator != operator < operator > operator <= operator >- О Сравнение производится по лексикографическому критерию (см. с. 471). int string::compare (const string str) const О Сравнивает строку *this со строкой str. О Возвращает: □ О, если строки равны; □ отрицательное число, если *this в лексикографическом отнощении меньше str, □ положительное число, если *this в лексикографическом отношении больше str. О Сравнение осуществляется функцией traits: :сотраге() (см. с. 660). О За подробностями обращайтесь к с. 471. int 5СГ7Лд::compare (size type idx. size type len. const string str) const О Сравнивает не более len символов строки *this, начиная с индекса idx, со строкой str. О Если выполняется условие idx>ze{), генерируется исключение out of range(). О Сравнение вьшолняется так же, как в приведенном выше описании compare(5tr). int strmg::compare (size type idx. size type len, const string str. si2e type strjdx. size type strjen) const О Сравнивает не более len символов строки *this, начиная с индекса idx, с подстрокой str, начинающейся с индекса strjdx. О Если вьшолняется условие idx>5\ze{), генерируется исключение out of range(). О Если выполняется условие strjdx>str.s\zeQ, генерируется исключение out of range(}. О Сравнение выполняется так же, как в приведенном выше описании compaгe(5t).
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |