4.2.3. Concatenación usando operadores no-miembro sobrecargados

Uno de los descubrimientos más deliciosos que esperan al programador de C que está aprendiendo sobre el manejo de cadenas en C++, es lo simple que es combinar y añadir string usando los operadores operator+ y operator+=. Estos operadores hacen combinaciones de cadenas sintacticamente parecidas a la suma de datos numéricos:

//: C03:AddStrings.cpp
#include <string>
#include <cassert>
using namespace std;

int main() {
  string s1("This ");
  string s2("That ");
  string s3("The other ");
  // operator+ concatenates strings
  s1 = s1 + s2;
  assert(s1 == "This That ");
  // Another way to concatenates strings
  s1 += s3;
  assert(s1 == "This That The other ");
  // You can index the string on the right
  s1 += s3 + s3[4] + "ooh lala";
  assert(s1 == "This That The other The other oooh lala");
} ///:~

Listado 4.10. C03/AddStrings.cpp


Usar los operadores operator+ y operator+= es una manera flexible y conveniente de combinar los datos de las cadenas. En la parte derecha de la sentencia, puede usar casi cualquier tipo que evalúe a un grupo de uno o más caracteres.