То же самое можно сделать
string s3;
// скопируем первые 4 символа s1
s3.assign ( s1, 4 );
s3 теперь содержит значение "Miss".
// добавим пробел
s3 += ' ';
Теперь s3 содержит "Miss ".
// добавим 4 первых символа s2
s3.append(s2,4);
s3 получила значение "Miss Anna". То же самое можно сделать короче:
s3.assign(s1,4).append(' ').append(s2,4);
Другая форма функции-члена assign() имеет три параметра: второй обозначает позицию начала, а третий – длину. Позиции нумеруются с 0. Вот как, скажем, извлечь "belle" из "Annabelle":
string beauty;
// присвоим beauty значение "belle"
beauty.assign( s2, 4, 5 );
Вместо этих параметров мы можем использовать пару итераторов:
// присвоим beauty значение "belle"
beauty.assign( s2, s2.begin()+4, s2.end() );
В следующем примере две строки содержат названия текущего проекта и проекта, находящегося в отложенном состоянии. Они должны периодически обмениваться значениями, поскольку работа идет то над одним, то над другим. Например:
string current_project( "C++ Primer, 3rd Edition" );
string pending_project( "Fantasia 2000, Firebird segment" );
Функция-член swap() позволяет обменять значения двух строк с помощью вызова
current_project.swap( pending_project );
Для строки
string first_novel( "V" );
операция взятия индекса
char ch = first_novel[ 1 ];
возвратит неопределенное значение: длина строки first_novel равна 1, и единственное правильное значение индекса – 0. Такая операция взятия индекса не обеспечивает проверку правильности параметра, но мы всегда можем сделать это сами с помощью функции-члена size():
int
elem_count( const string &word, char elem )
{
int occurs = 0;
// не надо больше проверять ix
for ( int ix=0; ix < word.size(); ++-ix )
if ( word[ ix ] == elem )
++occurs;
return occurs;
}
Там, где это невозможно или нежелательно, например:
void
mumble( const string &st, int index )
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий