Упражнение о стандартной гипергликемии спрашивает меня:Перенаправление станд :: CIN непосредственно StD :: COUT
Читать ввод из стандартного ввода и записывает его на стандартный вывод.
Возможное решение:
#include<iostream>
#include<string>
using std::cin; using std::cout;
using std::string;
int main()
{
string word;
while (cin >> word)
cout << word;
return 0;
}
Строка действует как буфер в этом примере. Если вы попытаетесь избавиться от буфера, сделав что-то вроде этого:
#include<iostream>
using std::cin; using std::cout;
int main()
{
while (cout << cin)
;
return 0;
}
Результаты очень разные. Когда я запускаю этот код я получаю бесконечный поток
0x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d300x600d30
на терминале.
Почему это происходит? Почему эти программы ведут себя по-другому?
Как вы получили 'cout << cin' для компиляции? – emlai
Я не вижу этого [компиляции] (http://ideone.com/3ZzFWd) – scohe001
@ scohe001 https: // ideone.com/zRMP7G компилируется отлично – Andrey