Строковые операторы

Материал из cppreference.com
Перейти к: навигация, поиск

Синтаксис:

    #include <string>
    bool operator==(const string& c1, const string& c2);
    bool operator!=(const string& c1, const string& c2);
    bool operator<(const string& c1, const string& c2);
    bool operator>(const string& c1, const string& c2);
    bool operator<=(const string& c1, const string& c2);
    bool operator>=(const string& c1, const string& c2);
    string operator+(const string& s1, const string& s2 );
    string operator+(const charT* s, const string& s2 );
    string operator+( charT c, const string& s2 );
    string operator+( const string& s1, const charT* s );
    string operator+( const string& s1, charT c );
    string& operator+=(const string& append);
    string& operator+=(const charT* append);
    string& operator+=(const charT  append);
    ostream& operator<<( ostream& os, const string& s );
    istream& operator>>( istream& is, string& s );
    string& operator=( const string& s );
    string& operator=( const charT* s );
    string& operator=( charT ch );
    charT& operator[]( size_type index );
    const charT& operator[]( size_type index ) const;

Строки в C++ можно присваивать и сравнивать с помощью стандартных операторов сравнения: ==, !=, <=, >=, <, >, и =. Выполнение сравнения или присваивания одной строки другой происходит за линейное время.

Две строки равны, если:

  1. Их размер равен, и
  2. Каждый символ в позиции i одной строки равен символу в позиции i в другой строке.

Сравнения между строками производятся лексикографически.

В дополнение к обычным операциям с контейнерами, строки так же могут быть сцеплены с помощью оператора + и введены/выведены с помощью потоков ввода/вывода C++ с операторами << И >>.

Например, следующий код сцепляет две строки и показывает результат:

   string s1 = "Now is the time...";
   string s2 = "for all good men...";
   string s3 = s1 + s2;
   cout << "s3 is " << s3 << endl;

Больше того, строкам можно присвоить значения, которые являются другими строками, символьными массивами, или символами. Следующий код является абсолютно правильным:

   char ch = 'N';
   string s;
   s = ch;

Отдельные символы строки можно просмотреть с помощью оператора [], это происходит за константное время

Смотрите так же: c_str, compare, data

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
На других языках