Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
EfimKR
53 / 26 / 10
Регистрация: 24.06.2014
Сообщений: 229
Записей в блоге: 1
#1

Что применить "\n" или "endl"? - C++

06.07.2014, 12:12. Просмотров 1204. Ответов 24
Метки нет (Все метки)

Эти две операции похожи - они переходят на новую строку. Но endl очищает буфер, но при этом дольше выполняется.
Так что же лучше применять?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2014, 12:12     Что применить "\n" или "endl"?
Посмотрите здесь:
C++ В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
C++ Вставить пробел после каждого символа "." "," "!" или "?", если за этими символами не следует пробел
Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) C++
C++ С++ консольное приложение win32, матерится на первое "pow" после "if", а на "system" говорит что неопределён.
Visual Studio не читает операторы, что начинаются на "glu" ("gluBuild2DMipmaps", "gluPerspective") C++
C++ Что Вы понимаете под "абстрактным типом", "абстракцией данных" и "абстрактными операциями"?
C++ Дан текст, хранящийся в текстовом файле f, каждый символ которого может быть малой буквой, цифрой или одним из знаков "+", "-", "*".
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,012
06.07.2014, 12:18     Что применить "\n" или "endl"? #2
std::endl - для единообразия. Оптимизировать вывод за счет этого - только по указанию профайлера.
dimabubyakin
159 / 124 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
06.07.2014, 12:18     Что применить "\n" или "endl"? #3
я предпочитаю endl, тут уж на ваш вкус)
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.07.2014, 13:12     Что применить "\n" или "endl"? #4
Если нужно просто вывести многострочный текст, то удобнее написать
C++
1
"one\ntwo\nthree"
чем
C++
1
"one" << endl << "two" << endl << "three"
И, кстати, поток, насколько я знаю, совершенно спокойно может флашнуться и по "\n".
Avazart
Эксперт С++
7121 / 5298 / 273
Регистрация: 10.12.2010
Сообщений: 23,436
Записей в блоге: 17
06.07.2014, 14:06     Что применить "\n" или "endl"? #5
Tulosba, а выглядит удобнее ли ?

Я пишу так
C++
1
2
3
<< "one" << endl 
<< "two" << endl 
<< "three"
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.07.2014, 14:12     Что применить "\n" или "endl"? #6
Avazart, могу предложить альтернативный вариант:
C++
1
2
3
<< "one\n"
<< "two\n"
<< "three"
Потому что явно флашить поток наверное все таки не стоит в этом случае.
P.s. Кстати можно и без << во второй, третьей строках.
Muhhekaneok
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 1
06.07.2014, 15:14     Что применить "\n" или "endl"? #7
Цитата Сообщение от Tulosba Посмотреть сообщение
флашить поток
Подскажите пожалуйста, что означает данная терминология? Я далеко не программист потому что, поэтому задаю такой вопрос.
Avazart
Эксперт С++
7121 / 5298 / 273
Регистрация: 10.12.2010
Сообщений: 23,436
Записей в блоге: 17
06.07.2014, 15:21     Что применить "\n" или "endl"? #8
Цитата Сообщение от Muhhekaneok Посмотреть сообщение
Подскажите пожалуйста, что означает данная терминология? Я далеко не программист потому что, поэтому задаю такой вопрос.
http://www.cplusplus.com/reference/o...ostream/flush/
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
06.07.2014, 15:23     Что применить "\n" или "endl"? #9
Манипулятор std::endl, помимо того, что добавляет перевод строки в поток, еще и вызывает функцию flush(), которая производит, непосредственно, запись всех еще не записанных данных в поток.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
06.07.2014, 16:15     Что применить "\n" или "endl"? #10
Да и так должно сработать:
C++
1
2
3
std::cout << "one\n"
             "two\n"
             "three";
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.07.2014, 16:16     Что применить "\n" или "endl"? #11
Цитата Сообщение от GuGo1991 Посмотреть сообщение
Да и так должно сработать:
Цитата Сообщение от Tulosba Посмотреть сообщение
Кстати можно и без << во второй, третьей строках.
собственно
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
06.07.2014, 16:21     Что применить "\n" или "endl"? #12
Цитата Сообщение от Tulosba Посмотреть сообщение
P.s. Кстати можно и без << во второй, третьей строках.
Подумал вы не имели ввиду свой вариант
fio
10 / 10 / 3
Регистрация: 16.06.2014
Сообщений: 45
06.07.2014, 16:31     Что применить "\n" или "endl"? #13
endl работает дольше, поэтому его не стоит применять в программах, выводящих много строк и ограниченных по времени выполнения. А ещё набор "\n" требует меньшего количества нажатий на клавиатуре
Впрочем, если речь идёт о скорости, лучше вообще применять сstdio вместо iostream.
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
06.07.2014, 18:21     Что применить "\n" или "endl"? #14
C++
1
   (std::cout << "one" << std::cout.widen('\n') << "two" << std::cout.widen('\n') << "three").flush() ;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2014, 19:41     Что применить "\n" или "endl"?
Еще ссылки по теме:
Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день","Суббота" или "Воскресенье" C++
Определить, какая из точек "В" или "С" расположены ближе к точке "А". C++
C++ Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления"
C++ Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
C++ Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.07.2014, 19:41     Что применить "\n" или "endl"? #15
Croessmah, какую цель ты преследуешь этим кодом?
C++
1
std::cout.widen('\n')
Yandex
Объявления
06.07.2014, 19:41     Что применить "\n" или "endl"?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru