Si va a realizar una concatenación en C++, algunas de las cosas que debe tener en cuenta son:
- Si a+b es una expresión que muestra una concatenación de strings, el resultado de la expresión será una copia del carácter en ‘a’ seguido del carácter en ‘b’.
- Tanto ‘a’ como ‘b’ pueden ser strings literales o un valor de tipo char, pero no ambos. Es por eso que la siguiente concatenación no arroja un error, pero la anterior sí.
Por ejemplo:
Input : "geeks"+"forgeeks" Output : It will not compile, an error will be thrown.
Caso 1: debido a las razones anteriores, no podemos concatenar la siguiente expresión:
"geeks" + "forgeeks" + geekstring
Aquí, la asociatividad izquierda de + también juega un papel en la creación del error, ya que + se deja asociativo, por lo que primero «geeks» + «forgeeks» se concatenarán, lo que creará el error como se discutió anteriormente.
Caso 2: Podemos concatenar lo siguiente :
geekstring + "geeks" + "forgeeks"
Aquí, la asociatividad izquierda no creará el error, ya que se unirá a geekstring y «geeks» por lo que no es un literal, luego se agregarán «forgeeks» y no se generará ningún error.
Input : geekstring = "geeks" Input : geekstring + "forgeeks" Output: geeksforgeeks
// Program to illustrate two string // literal can not be concatenate #include <iostream> using namespace std; int main() { string geekstring = "geeks"; cout << geekstring + "forgeeks" << endl; // while this will not work // cout<<"geeks" + "forgeeks"; // this will work cout << geekstring + "forgeeks" + " Hello"; // but again this will not work // cout<<"forgeeks" + "hello" + geekstring; return 0; }
Producción:
geeksforgeeks geeksforgeeks Hello
Publicación traducida automáticamente
Artículo escrito por UPENDRA BARTWAL, y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA