printf или cout

printf
6
Нейтральная
сторона
2
cout
5
unix-way
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!
OOP

07-11-2012 00:02 0

имеется в виду то, чем лучше выводить текст в консоль\терминал

2 комментария
MrGeneroth 07-11-2012 00:35 0

да я знаю, просто на автомате отправил, а стереть нельзя

по теме: по видимому я слишком непонятно выразил мысть. Я имею в виду конечно же программирование на С++. Интересно узнать как много людей воспользовались плюсами "плюсов" (в смысле нововведениями), и как много не смогли\не захотели оставлять небезопастный, но ставший привычным printf("Hello, %s", userName);

MrGeneroth 07-11-2012 00:52 +1

Однажды cout мне не понравился тем, что заменив им один из printf'ов, программа увеличила свой размер раза в четыре (точно не помню, но хорошо помню свое удивление). С тех пор я решил, что всякие %d, %0.2f, %x мне ближе... Это конечно нельзя считать решающим аргументом в выборе, но мне показалось, что это слишком.

10-11-2012 23:24 0

Так а в самом противопоставлении уже заложено превосходство printf. Сама эта взаимозаменяемость подтверждает то что миллион раз доказано: не существует задачи в ООП которую нельзя было решить в функциональном программировании, с меньшим расходом ресурсов. ООП - это просто одна из спорных парадигм. ;)

0 комментариев
07-11-2012 01:21 +1

Если сравнивать scanf и cin то scanf однозначно впереди, потому что значительно быстрее, тут же соut мне нравится больше

0 комментариев
08-11-2012 14:54 0

Удобнее и современнее использовать потоки
BerkutOi, cin и его ООП-аналоги ничем не хуже scanf. О значительном превосходстве scanf говорить, с теми ресурсами современных компьютеров просто глупо.

3 комментария
i.c 09-11-2012 20:53 0

Выводит так единицу, хотя по идее вроде должна выводить 0.

i.c 09-11-2012 21:05 0

i.c, Да, так:
#include <iostream>
int main() {
bool b = !0&&0;
std::cout<<b;
return 0;
}

Выводит 0.

i.c 10-11-2012 20:54 0

По закону исключения констант:
A&&0 = 0

!0 = 1 (!false = true)
0 = 0
Получается, что 1&&0 = 0

А почему
std::cout<<!0&&0;
выводит 1 я не знаю и буду рад услышать ответ от Вас.

Тем не менее можно использовать отдельную булеву переменную и выводить её значения, тогда ответ будет правильный.

08-11-2012 22:28 0

scanf/printf - это функция.
cin/cout - это объект класса iostream.
И вот теперь уже идёт вся тема с чем вам приходится работать. От себя лишь добавлю, что потоковое управление данными, делает программу кроссплатформенной. К тому же управление потоками - это основы объектно-ориентированного программирования.

0 комментариев
22-07-2017 22:02 0

cin.tie(0);
ios_base::sync_with_stdio(0);

0 комментариев