cpp/string/basic string/operator cmp
Sintaxis:
#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;
Las cadenas en C++ se pueden comparar y asignar con los operadores standard de comparación: ==, !=, <=, >=, <, > y =. La comparación y la asignación de cadenas requiere un tiempo lineal.
Dos cadenas son iguales si:
- Tienen el mismo tamaño y
- Cada elemento en la posición i de una cadena es igual al elemento en la posición i de la otra cadena.
La comparación entre cadenas es lexicográfica..
Además de los operadores normales de todos los contenedores, las cadenas pueden concatenarse con el operator + y se pueden enviar a las io/clases de stream con los operadores << y >>
Por ejemplo, el siguiente código concatena dos cadenas y muestra el resultado:
string s1 = "Now is the time..."; string s2 = "for all good men..."; string s3 = s1 + s2; cout << "s3 is " << s3 << endl;
Además, a las cadenas se les pueden asignar valores que sean otras cadenas, arrays de caracteres o coracteres suelto. El siguiente código es perfectamente legal:
char ch = 'N'; string s; s = ch;
Se puede acceder a los caracteres individuales de una cadena con el operador [], que requiere un tiempo constante.