С++ для начинающих


         

То же самое можно сделать


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
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий