Una aclaración importante sobre endl:
En estos streams de salida, cuando escribes, no se envía instantaneamente (a la consola, en este caso). Se almacena en un buffer. Cuando el buffer se llena, o se da otra condición, el buffer se envía y se muestra en la consola lo que habíamos escrito. Esto generalmente ocurre en cuanto el programa tiene tiempo, se detiene, o cuando lo forzamos a hacerlo.
Existe otra función, que es flush:
Esto fuerza al buffer a vaciarse. No es muy común verla, pero es importante.
endl hace 2 cosas: primero, escribe un '\n', luego, hace un flush.
endl sería similar a:
Lo que interesa es ver que no es igual a un salto de línea sin más: además, hace el flush.
En los programas que hagas, no deberías preocuparte: usar endl suele ser la mejor alternativa. Sin embargo, tenlo en cuenta en el futuro.
En estos streams de salida, cuando escribes, no se envía instantaneamente (a la consola, en este caso). Se almacena en un buffer. Cuando el buffer se llena, o se da otra condición, el buffer se envía y se muestra en la consola lo que habíamos escrito. Esto generalmente ocurre en cuanto el programa tiene tiempo, se detiene, o cuando lo forzamos a hacerlo.
Existe otra función, que es flush:
Código (cpp) [Seleccionar]
cout << flush;
Esto fuerza al buffer a vaciarse. No es muy común verla, pero es importante.
endl hace 2 cosas: primero, escribe un '\n', luego, hace un flush.
endl sería similar a:
Código (cpp) [Seleccionar]
cout << '\n' << flush;
Lo que interesa es ver que no es igual a un salto de línea sin más: además, hace el flush.
En los programas que hagas, no deberías preocuparte: usar endl suele ser la mejor alternativa. Sin embargo, tenlo en cuenta en el futuro.