которая делает то же, что
{
// возможна ошибка
char ch = st[ index ];
// ...
}
следует воспользоваться функцией at(), которая делает то же, что и операция взятия индекса, но с проверкой. Если индекс выходит за границу, возбуждается исключение out_of_range:
void
mumble( const string &st, int index )
{
try {
char ch = st.at( index );
// ...
}
catch ( std::out_of_range ){...}
// ...
}
Строки можно сравнивать лексикографически. Например:
string cobol_program_crash( "abend" );
string cplus_program_crash( "abort" );
Строка cobol_program_crash лексикографически меньше, чем cplus_program_crash: сопоставление производится по первому отличающемуся символу, а буква e в латинском алфавите идет раньше, чем o. Операция сравнения выполняется функцией-членом compare(). Вызов
sl.compare( s2 );
возвращает одно из трех значений:
- если s1 больше, чем s2, то положительное;
- если s1 меньше, чем s2, то отрицательное;
- если s1 равно s2, то 0.
Например,
cobol_program_crash.compare( cplus_program_crash );
вернет отрицательное значение, а
cplus_program_crash.compare( cobol_program_crash );
положительное. Перегруженные операции сравнения (<, >, !=, ==, <=, >=) являются более компактной записью функции compare().
Шесть вариантов функции-члена compare() позволяют выделить сравниваемые подстроки в одном или обоих операндах. (Примеры вызовов приводились в предыдущем разделе.)
Функция-член replace() дает десять способов заменить одну подстроку на другую (их длины не обязаны совпадать). В двух основных формах replace() первые два аргумента задают заменяемую подстроку: в первом варианте в виде начальной позиции и длины, во втором – в виде пары итераторов на ее начало и конец. Вот пример первого варианта:
string sentence(
"An ADT provides both interface and implementation." );
string::size_type position = sentence.find_1ast_of( 'A' );
string::size_type length = 3;
// заменяем ADT на Abstract Data Type
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий