Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.88/52: Рейтинг темы: голосов - 52, средняя оценка - 4.88
bodrich
98 / 88 / 13
Регистрация: 20.06.2010
Сообщений: 964
Записей в блоге: 16
Завершенные тесты: 1
1

cout vs printf

30.09.2010, 12:17. Просмотров 9600. Ответов 20
Метки нет (Все метки)

Что лучше и удобней использывать в написаннии программ? cout или printf?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2010, 12:17
Ответы с готовыми решениями:

Cout и printf
Привет форумчане, не могу разобраться как правильно записать выражение...

Cout в printf
Возможно глупый вопрос, но как переделать cout << arr - (sum / m) << " "; в...

printf > cout
Помогите переделать printf("| %3.2f | %3.1f | %7.5f |\n",a,b,y); на cout.

Printf() - Cout
Простой вопрос. Как заменить printf ("%09d", a); на cout?

Cout в printf
Здравствуйте, может кто-нибудь помочь переделать cout в printf на 87-88 строках...

20
TheMachinist
244 / 176 / 47
Регистрация: 14.06.2010
Сообщений: 422
30.09.2010, 12:24 2
Это уж тебе решать по собственному опыту что тебе удобнее и лучше.
Лично мне удобнее cout
0
LineStown
67 / 67 / 7
Регистрация: 04.08.2010
Сообщений: 423
Завершенные тесты: 1
30.09.2010, 12:25 3
+1 за cout
0
bodrich
98 / 88 / 13
Регистрация: 20.06.2010
Сообщений: 964
Записей в блоге: 16
Завершенные тесты: 1
30.09.2010, 12:29  [ТС] 4
мне наоборот легче использывать printf, правда я немного знаю о cout...
0
LineStown
67 / 67 / 7
Регистрация: 04.08.2010
Сообщений: 423
Завершенные тесты: 1
30.09.2010, 12:36 5
Цитата Сообщение от bodrich Посмотреть сообщение
мне наоборот легче использывать printf, правда я немного знаю о cout...
А в чем выражается "легкость" использования printf?
0
bodrich
98 / 88 / 13
Регистрация: 20.06.2010
Сообщений: 964
Записей в блоге: 16
Завершенные тесты: 1
30.09.2010, 12:42  [ТС] 6
например мне легче написать printf ("%d %s %f", i,k,l); чем cout << i << " "<< k << " "<< l
0
LineStown
67 / 67 / 7
Регистрация: 04.08.2010
Сообщений: 423
Завершенные тесты: 1
30.09.2010, 12:46 7
гм а по мне выражение
Цитата Сообщение от bodrich Посмотреть сообщение
cout << i << " "<< k << " "<< l
более читабельно и проще понять что оно выводит)
Я так думаю нужно смотреть разницу операторов с точки зрения их оптимизированности и принципов работы
0
Evg
Эксперт CАвтор FAQ
19288 / 7147 / 528
Регистрация: 30.03.2009
Сообщений: 19,997
Записей в блоге: 30
30.09.2010, 12:54 8
printf - это из Си, cout - из Си++.
Понятное дело, что printf можно использовать в том числе и в Си++, но для "чистоты" кода лучше не перемешивать Си и Си++.

Для обычного вывода меня больше устраивает printf. Но в случае с cout'ом для каждого своего класса можно определить оператор << над iostream и тогда в cout можно будет по простому использовать твой класс
2
Syndarin
13 / 13 / 2
Регистрация: 15.09.2009
Сообщений: 57
30.09.2010, 12:55 9
Не знаю, насколько верно, но слышал, что printf работает быстрее.
0
KuKu
1559 / 1037 / 93
Регистрация: 17.04.2009
Сообщений: 2,995
30.09.2010, 12:57 10
в printf, scanf надо помнить спецификаторы типа. Далее cout,cin если что то не так возвращает исключения, а printf и scanf возвращает int, при ошибке <0 вродь. Ну и printf и scanf функции Си, а cout << в c++ уже появились.

Добавлено через 39 секунд
Цитата Сообщение от Syndarin Посмотреть сообщение
Не знаю, насколько верно, но слышал, что printf работает быстрее.
а я обратное , хотя не уверен в правдивости источника.
0
LineStown
67 / 67 / 7
Регистрация: 04.08.2010
Сообщений: 423
Завершенные тесты: 1
30.09.2010, 13:00 11
Цитата Сообщение от KuKu Посмотреть сообщение
в printf, scanf надо помнить спецификаторы типа.
Вот это ещё одно преимущество cout , не нужно заморачиваться с типами данных.
0
Evg
Эксперт CАвтор FAQ
19288 / 7147 / 528
Регистрация: 30.03.2009
Сообщений: 19,997
Записей в блоге: 30
30.09.2010, 13:08 12
Цитата Сообщение от Syndarin Посмотреть сообщение
Не знаю, насколько верно, но слышал, что printf работает быстрее.
Да, printf работает быстрее. Хотя бы потому, что cout в конечном итоге, как правило, использует внутри себя тот же printf. Но скорость работы printf'а - это не такой уж и важный параметр. Там, где критична скорость работы - это как правило долгие вычисления, а потом короткий фрагмент, который печатает результат
1
AnonymC
1179 / 462 / 86
Регистрация: 23.06.2009
Сообщений: 6,375
Завершенные тесты: 1
30.09.2010, 21:40 13
попытайся вывести на экран следующее через printf
C++
1
2
3
4
5
6
7
int a=0;
int b=1;
int r=2;
int ae=98;
int aq=900;
char x="asdasd";
char xd="asdacccccsd";
напиши здесь код вывода на экран всех этих переменных через принтф,через cout я напишу
C++
1
cout<<a<<endl<<b<<endl<<r<<ae<<endl<<x<<endl<<xd<<endl;
запутаться невозможно тут
0
ForEveR
В астрале
Эксперт С++
7996 / 4755 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
30.09.2010, 21:43 14
C++
1
2
char x="asdasd";
char xd="asdacccccsd";
Учите матчасть. Символу присвоить строку - это лучшее что может быть.

А если так:

C
1
2
3
4
5
6
7
8
int a=0;
int b=1;
int r=2;
int ae=98;
int aq=900;
char x[]="asdasd";
char xd[]="asdacccccsd";
printf("%d\n %d\n %d\n %d\n %d\n %s\n %s\n", a,b,r,ae,aq,x,xd);
То запутаться я тоже не вижу где тут.
1
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
30.09.2010, 21:51 15
^Tecktonik_KiLLeR,
А в чём фишка? У вас, кстати, r и ae сольются)))
0
Evg
Эксперт CАвтор FAQ
19288 / 7147 / 528
Регистрация: 30.03.2009
Сообщений: 19,997
Записей в блоге: 30
30.09.2010, 21:52 16
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
напиши здесь код вывода на экран всех этих переменных через принтф,через cout я напишу
Пока программируешь небольшие программы, то в первую очередь озабочиваешься тем, как бы проще написать. Когда работаешь над большими проектами, то постоянно встаёшь перед вопросом того, что тебе ещё код надо и читать.

C
1
printf ("text1 %d text2 %s text3 %f text4 %d\n", x1, x2, x3, x4);
Глядя на такой код, сразу понятно, переменные каких типов идут в печать, чего не скажешь о cout
2
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
30.09.2010, 21:52 17
Evg,
Согласен с вами.
Но, надо сказать, что существует такая вещь как венгерский стиль записи имени переменных, когда перед именем каждой переменной ставится первая буква названия типа этой переменной. В данном случае это может оказаться полезным.
0
Evg
Эксперт CАвтор FAQ
19288 / 7147 / 528
Регистрация: 30.03.2009
Сообщений: 19,997
Записей в блоге: 30
30.09.2010, 21:58 18
^Tecktonik_KiLLeR, ну или напиши аналог этой функции с использованием классов ostream (к коим принадлежит cout) http://www.cyberforum.ru/post857620.html
Просто cout как правило более понятен начинающим, потому что форматный вывод сложно воспринимать. А когда привыкнешь, то поймёшь, что форматный вывод гораздо более понятно читается. На мой взгляд единственное преимущества cout'а именно в возможности реализовать оператор << для своего класса
0
kisk
6 / 6 / 4
Регистрация: 15.05.2015
Сообщений: 75
Записей в блоге: 3
21.07.2015, 10:56 19
Нас учили с cout, cin. Потом начали использовать printf, scanf.
Второй вариант мне показался намного удобным, из-за спецификаторов и перечисления переменных. Также не надо дописывать две строки с библиотекой и namespace
0
Eraston
59 / 11 / 3
Регистрация: 09.09.2014
Сообщений: 130
21.07.2015, 11:14 20
printf удобнее для форматированного вывода. Можно расписать, как выводить переменные, с какими отступами и т.п. Например, int, можно вывести и как unsigned int, и в hex формате.
Касательно классов, немного разницы между: cout << class1 и class1.print(). В любом случае нужно определить функцию вывода для class1.
0
21.07.2015, 11:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2015, 11:14

printf и cout
У меня возник вопрос, что луче еспользовать в C++, printf/scanf или cout/cin ?...

Отличия printf от cout
Доброе время суток! Вопрос скорее успокоить свою душу, нежели практического...

Заменить cout на printf
Помогите пожалуйста заменить строчку из кода с cout на printf: cout &lt;&lt; mass &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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