Программирование >>  Операторы преобразования типа 

1 ... 155 156 157 [ 158 ] 159 160 161 ... 239


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).



1 ... 155 156 157 [ 158 ] 159 160 161 ... 239

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика