|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.01.2012, 17:40 | #11 | |
Пользователь
Регистрация: 25.01.2012
Сообщений: 13
|
Цитата:
Код:
|
|
25.01.2012, 18:39 | #12 | |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Br0m
)))) Цитата:
как я это понял даже не спрашивай
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
25.01.2012, 18:47 | #13 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2_Bers
ну cin видимо сам как то подчищает лишнее. кстати, можно заметить, что у ostream метод flush есть, у istream нету ибо это не имеет смысла, как и fflush(sdtin). но вот микрософтовцы подумали, что прикольно будет и тут чистить буфер
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
25.01.2012, 20:46 | #14 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Код:
Код:
Таким образом, студийный std::cin перед чтением чистит буфер ввода стандартным fflush(stdin) А вы говорите, что это UB. Вопрос: каким образом std::cin чистит буфер под линукс? Как то же он должен это делать. Неужели под разные платформы шандарахнули разные реализации istream ? |
|
25.01.2012, 23:39 | #15 | |||||
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2_Bers
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|||||
26.01.2012, 00:02 | #16 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
не забываем что istream имеет свой буфер, который и очищает.
на линухе думаю именно за счет этого и идет. в винде же вроде не такие гибкие устройства терминала.(в линухе* это не только консоль сама) *по умолчанию stdin настроен на буферизацию до перевода строки, то есть раньше чем перевод строки не вернет, а значит читается все сразу до перевода строки, в винде не видел такого у АПИ. PS:+так же помним что в линухе как перевод строки применяется только #10, а не #13#10. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 26.01.2012 в 00:05. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему не работает программа, что не так? | Демик | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 17.07.2011 21:12 |
Почему так!? | pusik | Помощь студентам | 0 | 07.05.2011 20:53 |
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? | >>STINGER<< | Помощь студентам | 4 | 08.03.2011 09:56 |
Почему так медленно работает цикл? | zotox | Общие вопросы C/C++ | 3 | 09.01.2011 23:57 |
Почему так? | Za_Stalina | Свободное общение | 14 | 16.12.2010 08:45 |