Sintaxe:
#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;
As strings do C++ podem ser comparadas e atribuídas com os operadores de comparação standard: ==, !=, <=, >=, <, >, e =. Efectuar uma comparação ou atribuir uma string a outra gasta tempo linear.
Duas strings são iguais se:
Comparações entre strings são feitas lexicograficamente.
Além dos operadores normais dos contentores, strings também podem ser concatenadas com o operador + e fornecidas às classes C++ de stream E/S (I/O stream) com os operadores << e >>.
Por exemplo, o código seguinte concatena duas strings e mostra o resultado:
string s1 = "Now is the time..."; string s2 = "for all good men..."; string s3 = s1 + s2; cout << "s3 is " << s3 << endl;
Adiante, podem ser atribuídas a strings valores que são outras strings, arrays de caracteres, ou mesmo um único caracter. O código seguinte é perfeitamente válido:
char ch = 'N'; string s; s = ch;
Caracteres individuais de uma string podem ser examinados com o operador [], que corre em tempo constante.