endl frente a \\n en C++

endl y \n parecen hacer lo mismo, pero hay una sutil diferencia entre ellos. 

cout << endl inserta una nueva línea y vacía la secuencia (búfer de salida), mientras que cout << «\n» simplemente inserta una nueva línea.

Por lo tanto,  cout << endl; se puede decir equivalente a cout << ‘\n’ << flush; 

Algunas otras diferencias entre endl y \n son:  

final

 \norte 

Es un manipulador.  es un personaje
No ocupa memoria.  Ocupa 1 byte de memoria ya que es un carácter.
Es una palabra clave y no especificaría ningún significado cuando se almacena en una string. Se puede almacenar en una string y seguirá transmitiendo su significado específico de salto de línea.
No podemos escribir ‘endl’ entre comillas dobles. Podemos escribir ‘\n’ entre comillas dobles como cout<<“\n”;
Solo es compatible con C++.  Es compatible con C y C++.
Sigue vaciando la cola en el búfer de salida durante todo el proceso.  Vacía el búfer de salida solo una vez al final del programa

Nota: cout << “\n” se ve mejor en cuanto a rendimiento, pero en realidad cout << endl es mucho mejor en C++ ; Como no ocupa memoria y también si se requiere vaciar el flujo.

Ejemplo 1: 

Podemos usar endl en C++ pero no en C. Así que endl funciona bien en C++ pero si usamos C, se ejecuta un error.

C++

#include <iostream>
using namespace std;
 
int main() {
 
    cout << "GFG!"<<endl;  //We can use endl in C++ and it doesn't occupy any memory
      cout << "GFG!";
    return 0;
}
 
//Code submitted by Susobhan AKhuli

C

#include <stdio.h>
 
int main() {
 
    // code
      //We cann't use endl in C
      printf("GFG!",endl);  //So it runs error
      printf("GFG!");
    return 0;
}
 
//Code submitted by Susobhan AKhuli

Producción:

GFG!
GFG!

Ejemplo 2:

Podemos usar «\n» tanto en C como en C++ pero ocupa 1 byte de memoria.

C++

#include <iostream>
using namespace std;
 
int main() {
 
    cout << "GFG!"<<"\n";
      cout << "GFG!";
    return 0;
}
//Code submitted by Susobhan AKhuli

C

#include <stdio.h>
 
int main() {
 
    // code
      printf("GFG!\n");
      printf("GFG!");
    return 0;
}
 
//Code submitted by Susobhan AKhuli

Producción:

GFG!
GFG!

Este artículo es una contribución de Akshat Saxena . Si te gusta GeeksforGeeks 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. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *