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

Ввод/вывод баг или нет? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Кривое считывание с файла http://www.cyberforum.ru/cpp-beginners/thread773881.html
#include <iostream> #include <fstream> #include <string> #include <locale.h> using namespace std; #include <windows.h> int main() { setlocale(LC_ALL,"Russian"); string str="Vremya-velikiy...
C++ Коменты Может кто написать коменты на каждую строку? #include <iostream> #include <vector> using namespace std; void printy (int a,int b) { for (int i=0; i<b+1; i++) { cout << a << ' '; http://www.cyberforum.ru/cpp-beginners/thread773880.html
C++ Подсчёт количества чисел в строке
Подсчитать количество чисел в первой строке из текстового файла: код написала, всё хорошо считывается из текстового файла и выводится на экран, но увы с подсчётом чисел пока не получается...
C++ code::blocks не находит .h файл
Написал в code::blocks пример из книги Х.Дэйтел "как программировать на C++" при компиляции выдает: Fatal error: time1.h: No such file or dirrectory очевидно, что компилятор не знает пути к .h...
C++ Программа, которая выводит на карте адресс человека http://www.cyberforum.ru/cpp-beginners/thread773838.html
Добрый день. Программированием занимаюсь недавно, всего 2 недели. И уже куча вопросов.) Ознакомился с операторами, но не знаю какой бы (какие бы) оператор отвечал за то, что бы в программе при вводе...
C++ Разработать программу, которая выводит время суток прописью Помогите сделать прогу :-( Разработать три программы. Первая принимает от пользователя значение времени суток – строку вида ЦЦ.ЦЦ.ЦЦ,Ц или ЦЦ.ЦЦ.ЦЦ,ЦЦ, где Ц – это любая цифра из диапазона , и... подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
29.01.2013, 01:02  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
чтобы было понятнее введите первый раз не
Greed you
а
Greed
и посмотрите разницу
Я сразу опробовал все варианты. Вопрос не в том какая разница, а в том, почему именно сначала срабатывает объект cin, до обоих объектов cout (а ведь они оба в коде стоят впереди).

Добавлено через 6 минут
Пс. единственно, что может прийти в голову, так это то, что очередь для обоих потоков input и output одна. Т.е. с каждым инкриментированием итератора указывающем на cout, сразу же и инкриментируется итератор указывающий на cin. Но эта догма порождает следующий вопрос: "Как тогда программа "знает" что присутствует объект output, до его инициализации?"

Добавлено через 6 минут
А вот и развязка, компилятор знает что есть
C++
1
оба
объекта, потому что было определение и объявлением до функции main. Следующий код демонстративно показывает разницу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iterator>
#include <string>
using namespace std;
 
int main()
{
    ostream_iterator<string> oo(cout);
    *oo = "Hello, ";
    ++oo;
    *oo = "word!\n"; // Hello, world! 
 
    istream_iterator<string> ii(cin);
    string s1 = *ii; // Greed
    ++ii;
    string s2 = *ii; // you
    cout << s1 <<  ' ' << s2 << '\n';
 
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru