Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Devilox
3 / 3 / 2
Регистрация: 19.02.2014
Сообщений: 142
1

Вывод содержимого vector при наличии бесконечного цикла

21.08.2015, 16:14. Просмотров 228. Ответов 3
Метки нет (Все метки)

День добрый!
Возникла проблема с выводом содержимого vector-а. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
 
std :: vector <int> Test;
 
int main() {
    Test.push_back(1);
    Test.push_back(2);
    Test.push_back(3);
    
    std :: cout << "Test" << " ";
    std :: cout << "Test" << " ";
    std :: cout << "Test" << std :: endl;
    
    std :: cout << Test.at(0) << " ";
    std :: cout << Test.at(1) << " ";
    std :: cout << Test.at(2);
    
    while (true) {}
    
    return 0;
}
Дело в том, что надпись "Test" нормально выводится три раза, а потом программа зависает в бесконечном цикле, но вот содержимое vector-а почему-то выводится только, когда программа завершилась. Причём, если заменить
C++
1
2
3
std :: cout << Test.at(0) << " ";
std :: cout << Test.at(1) << " ";
std :: cout << Test.at(2);
на
C++
1
2
3
std :: cout << Test.at(0) << std :: endl;
std :: cout << Test.at(1) << std :: endl;
std :: cout << Test.at(2) << std :: endl;
то всё нормально выводится.
С чем это может быть связано?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2015, 16:14
Ответы с готовыми решениями:

При разыменовании содержимого контейнера vector<string*> возникает ошибка
Добрый день и с Новым Годом, господа! Обращаюсь к вам со странной проблемой -...

Вывод содержимого при работе с файлом
Есть программа для работы с файлом. #include &quot;stdafx.h&quot; #include &lt;iostream&gt;...

Отладка бесконечного цикла
Здравствуйте. Проблема такая, написал цикл программы взаимодействия...

Многопоточность, выход из бесконечного цикла c++11
Всем привет. Я в задачах многопоточности - новичок (начал ей заниматься...

Способы остановки бесконечного while цикла
У меня такой вопрос: вот например у нас есть бесконечный цикл while с условиями...

3
John Prick
837 / 768 / 258
Регистрация: 27.07.2012
Сообщений: 2,180
Завершенные тесты: 3
21.08.2015, 16:18 2
std :: endl помимо перевода строки, сбрасывает буфер потока вывода. Предположу, если его не вызвать, часть буфера так и будет ожидать вывода в консоль, пока не завершится след.инструкция. А она никогда не завершится...
1
Ilot
Эксперт С++
1832 / 1190 / 342
Регистрация: 16.05.2013
Сообщений: 3,139
Записей в блоге: 5
Завершенные тесты: 1
21.08.2015, 16:19 3
Цитата Сообщение от Devilox Посмотреть сообщение
С чем это может быть связано?
Со сбросом буфера. std::endl сбрасывает его.
Вставьте перед циклом явный сброс:
C++
1
2
std::cout.flush();
while (true) {}
1
Devilox
3 / 3 / 2
Регистрация: 19.02.2014
Сообщений: 142
21.08.2015, 16:25  [ТС] 4
Спасибо! Работает.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2015, 16:25

Не работает проверка бесконечного цикла
// разработать класс Student, который содержит соответствующие поля для...

При include<vector> не включает и не видит vector
Не видит vector: //--ClassNeuron.h #ifndef NEURON_H #define NEURON_H ...

Выход из бесконечного цикла по нажатию кнопки.
Привет всем. как можно выйти из такого цикла по нажатию какой любой кнопки...


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

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

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