В чем разница между endl и n в C ++?

И endl , и n служат одной и той же цели в C ++ — они вставляют новую строку. Однако ключевое различие между ними заключается в том, что endl вызывает очистку выходного буфера при каждом вызове, тогда как n этого не делает.

Все, что должно быть выведено, сначала помещается в очередь в выходной буфер, а затем записывается на устройство (жесткий диск, монитор и т. д.), очищая очередь в процессе.

Давайте разберемся с этим на примере, где нам нужно будет вывести на экран 26 букв английского алфавита:

 #include  using namespace std; int main () {for (char i = 'A'; i  

Здесь буфер вывода сбрасывается каждый раз, когда код выполняет строку 7 . Следовательно, буфер очищается 26 раз (один раз после печати каждой буквы).

Использование n приведет к заполнению буфера вывода всеми 26 символами first и промойте его только один раз в конце программы:

 #include  с использованием пространства имен std; int main () {for (char i = 'A';  я  

Хотя разница не очевидна в небольших программах endl работает значительно хуже, чем n из-за постоянной очистки выходного буфера.

Оцените статью
nanomode.ru
Добавить комментарий