Para agregar caracteres, puede usar el operador +=, append() y push_back(). Todos ellos ayudan a agregar carácter pero con una pequeña diferencia en la implementación y aplicación.
- Operador += : agrega valores de un solo argumento. Complejidad del tiempo : O(n)
- append() : le permite especificar el valor agregado usando múltiples argumentos. Complejidad temporal: O(n)
- push_back() : le permite agregar un solo carácter a la vez. Complejidad del tiempo: O(1)
Aquí hay algunos estándares que podemos tener para comparar entre estos tres:
1) String completa:
- += : Podemos agregar una string completa usando +=.
- append() : También podemos agregar una string completa usando append().
- push_back: no permite agregar una string completa.
Implementación:
CPP
// CPP code for comparison on the // basis of appending Full String #include <iostream> #include <string> using namespace std; // Function to demonstrate comparison among // +=, append(), push_back() void appendDemo(string str1, string str2) { string str = str1; // Appending using += str1 += str2; cout << "Using += : "; cout << str1 << endl; // Appending using append() str.append(str2); cout << "Using append() : "; cout << str << endl; } // Driver code int main() { string str1("Hello World! "); string str2("GeeksforGeeks"); cout << "Original String : " << str1 << endl; appendDemo(str1, str2); return 0; }
Original String : Hello World! Using += : Hello World! GeeksforGeeks Using append() : Hello World! GeeksforGeeks
2) Agregar parte de String:
- += : No permite agregar parte de la string.
- append() : permite agregar parte de la string.
- push_back: no podemos agregar parte de la string usando push_back.
Implementación:
CPP
// CPP code for comparison on the basis of // Appending part of string #include <iostream> #include <string> using namespace std; // Function to demonstrate comparison among // +=, append(), push_back() void appendDemo(string str1, string str2) { // Appends 5 characters from 0th index of // str2 to str1 str1.append(str2, 0, 5); cout << "Using append() : "; cout << str1; } // Driver code int main() { string str1("GeeksforGeeks "); string str2("Hello World! "); cout << "Original String : " << str1 << endl; appendDemo(str1, str2); return 0; }
Original String : GeeksforGeeks Using append() : GeeksforGeeks Hello
3) Agregar string C (char *):
- += : Permite agregar C-string
- append() : También permite agregar C-string
- push_back: no podemos agregar C-string usando push_back().
Implementación:
CPP
// CPP code for comparison on the basis of // Appending C-string #include <iostream> #include <string> using namespace std; // Function to demonstrate comparison among // +=, append(), push_back() void appendDemo(string str) { string str1 = str; // Appending using += str += "GeeksforGeeks"; cout << "Using += : "; cout << str << endl; // Appending using append() str1.append("GeeksforGeeks"); cout << "Using append() : "; cout << str1 << endl; } // Driver code int main() { string str("World of "); cout << "Original String : " << str << endl; appendDemo(str); return 0; }
Original String : World of Using += : World of GeeksforGeeks Using append() : World of GeeksforGeeks
4) Agregar array de caracteres:
- += : Permite agregar una array de caracteres
- append() : permite agregar una array de caracteres.
- push_back: no permite agregar una array de caracteres.
Implementación:
CPP
// CPP code for comparison on the basis of // Appending character array #include <iostream> #include <string> using namespace std; // Function to demonstrate comparison among // +=, append(), push_back() void appendDemo(string str) { char ch[6] = { 'G', 'e', 'e', 'k', 's', '\0' }; string str1 = str; // Appending using += str += ch; cout << "Using += : " << str << endl; // Appending using append() str1.append(ch); cout << "Using append() : "; cout << str1 << endl; } // Driver code int main() { string str("World of "); cout << "Original String : " << str << endl; appendDemo(str); return 0; }
Original String : World of Using += : World of Geeks Using append() : World of Geeks
5) Agregar un solo carácter:
- += : Podemos agregar un solo carácter usando el operador +=.
- append() : permite agregar un solo carácter.
- push_back: permite agregar un solo carácter.
CPP
// CPP code for comparison on the basis of // Appending single character #include <iostream> #include <string> using namespace std; // Function to demonstrate comparison among // +=, append(), push_back() void appendDemo(string str) { string str1 = str; string str2 = str; // Appending using += str += 'C'; cout << "Using += : " << str << endl; // Appending using append() str2.append("C"); cout << "Using append() : "; cout << str2 << endl; // Appending using push_back() str1.push_back('C'); cout << "Using push_back : "; cout << str1; } // Driver code int main() { string str("AB"); cout << "Original String : " << str << endl; appendDemo(str); return 0; }
Original String : AB Using += : ABC Using append() : ABC Using push_back : ABC
6) Rango de iteradores:
- += : No proporciona rango de iterador.
- append() : proporciona un rango de iteradores.
- push_back: no proporciona rango de iterador.
Implementación:
CPP
// CPP code for comparison on the basis of // Appending using iterator range #include <iostream> #include <string> using namespace std; // Function to demonstrate comparison among // +=, append(), push_back() void appendDemo(string str1, string str2) { // Appends all characters from // str2.begin()+5, str2.end() to str1 str1.append(str2.begin() + 5, str2.end()); cout << "Using append : "; cout << str1; } // Driver code int main() { string str1("Hello World! "); string str2("GeeksforGeeks"); cout << "Original String : " << str1 << endl; appendDemo(str1, str2); return 0; }
Original String : Hello World! Using append : Hello World! forGeeks
7) Valor de retorno:
- += : Devuelve *esto.
- append() : Devuelve *esto
- push_back: no devuelve nada.
Implementación:
CPP
// CPP code for comparison on the basis of // Return value #include <iostream> #include <string> using namespace std; // Function to demonstrate comparison among // +=, append(), push_back() string appendDemo(string str1, string str2) { // Appends str2 in str1 str1.append(str2); // Similarly with str1 += str2 cout << "Using append : "; // Returns *this return str1; } // Driver code int main() { string str1("Hello World! "); string str2("GeeksforGeeks"); string str; cout << "Original String : " << str1 << endl; str = appendDemo(str1, str2); cout << str; return 0; }
Original String : Hello World! Using append : Hello World! GeeksforGeeks
Este artículo es una contribución de Sakshi Tiwari . Si te gusta GeeksforGeeks (¡sabemos que te gusta!) y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA