Agregar int a std :: string
Intenté dos formas diferentes de agregar unint
a unstd::string
, y para mi sorpresa, obtuve resultados diferentes:
#include <string>
int main()
{
std::string s;
s += 2; // compiles correctly
s = s + 2; // compiler error
return 0;
}
¿Por qué se compila y funciona correctamente cuando uso el+=
operador, pero falla cuando uso el+
¿operador?
No creo que la pregunta sea como¿Cómo concatenar un std :: string y un int?
En esa pregunta, ninguna respuesta usa+=
operador.Y la diferencia entre+=
y+
operador destd::string
Es la clave para resolver mi duda.
Francamente, la pregunta es un buen ejemplo para explicar por qué c ++ es tan difícil de dominar.