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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.56
prosto_lynx
49 / 24 / 1
Регистрация: 09.06.2008
Сообщений: 226
#1

"потоковые переменные"... или что-то в этом роде... - C++

04.02.2011, 15:37. Просмотров 1251. Ответов 5
Метки нет (Все метки)

Есть ли что-нибудь типо потоковых переменных?... (нужно создать поток, в который можно писать с одной стороны и считывать с другой стороны...)

Суть проблемы:
с USB-порта идет информация (в каких количествах и как часто - заранее не известно), но её нужно последовательно обрабатывать.... т.е. считывать в той же последовательности, но через некоторое время....
у меня такая программа реализована с помощью char-массивов:
1) всю пришедшую информацию дописываю в имеющийся массив.
2) при обработке некоторого количества информации из начала массива (той, которая пришла раньше всего), я переписываю всю оставшуюся часть массива на первые места (с помощью memcpy), что бы в массиве у меня снова хранилась информация, считанная с порта, но еще не обработанная...
P.S. Но при такой реализации, мне кажется, очень нерационально используется комп: постоянное переписывание массивов данных - дело не правильное!...((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2011, 15:37     "потоковые переменные"... или что-то в этом роде...
Посмотрите здесь:

Клавиатурный шпион или что-то в этом роде - C++
Помогите написать программу, реагирующую на все нажатия клавиатуры в Windows и выполняющую какие-нибудь действия в зависимости от нажатой...

массив массивов или что-то в этом роде - C++
у меня есть число а -составное которое делится на b1,b2,...,bn; и в зависимости от bi надо создать столько динамических двумерных...

Подскажите, пожалуйста, учебник/статью (или что-то в этом роде) про классы - C++
Подскажите пожалуйста, где можно найти учебник/статью (или что-то в этом роде) про классы? Нужно поскорее их изучить/понять... Заранее...

Что можно сказать об этом #include "stdafx.h" - C++
За что оно отвечает и где его можно использовать?! Много раз встречал но так и не понял зачем оно! #include "stdafx.h"

Что применить "\n" или "endl"? - C++
Эти две операции похожи - они переходят на новую строку. Но endl очищает буфер, но при этом дольше выполняется. Так что же лучше...

Зачем компилятору что-то упорядочивать после вычисления второго операнда логического "или"? - C++
Стандарт: То есть: если второй оператор вычислен, вычисление каждого выражения и побочный эффект, связанный с первым выражением...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
04.02.2011, 15:45     "потоковые переменные"... или что-то в этом роде... #2
если на с++ пишете, то логично использовать list
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <list>
#include <iostream>
 
int main(){
  std::list<size_t> list;
  for( size_t i=0;i<10;++i ){
    list.push_back( i );
  }
  for( size_t i=0;i<5;++i ){
    std::cout << list.front() << " ";
    list.pop_front();
  }
  for( size_t i=10;i<15;++i ){
    list.push_back( i );
  }
  for( size_t i=0;i<5;++i ){
    std::cout << list.front() << " ";
    list.pop_front();
  }
}
Bash
1
2
Output: 
0 1 2 3 4 5 6 7 8 9
prosto_lynx
49 / 24 / 1
Регистрация: 09.06.2008
Сообщений: 226
08.02.2011, 15:12  [ТС]     "потоковые переменные"... или что-то в этом роде... #3
Спасибо, более менее разобрался...

А можно ли (в C++ Builder'е 6.0) как-нибудь (при пошаговом выполнении программы) увидеть, что в данный момент в list находится?..
(как, например, на обычные переменные с контролом щелкаешь и сразу видно, чему они в данный момент равны...)
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
08.02.2011, 22:38     "потоковые переменные"... или что-то в этом роде... #4
prosto_lynx, в visual studio можно, в билдере не знаю, но думаю наверняка
prosto_lynx
49 / 24 / 1
Регистрация: 09.06.2008
Сообщений: 226
09.02.2011, 14:49  [ТС]     "потоковые переменные"... или что-то в этом роде... #5
А подскажите еще по поводу списков:
можно ли считать сразу n-ное количество байт из списка, (если я точно знаю, что считываю заведомо меньше элементов, чем есть в списке)?..
(вопрос родился из соображений ускорить работу в некоторых случаях...)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2011, 17:55     "потоковые переменные"... или что-то в этом роде...
Еще ссылки по теме:

Что лучше для хранения БД в динамической памяти "Связный список" или же просто в массиве? - C++
Всем доброго времени суток! Получил тему курсовой, попалась тема база данных на файле. Не долго думая как хранить все данные в...

More C++ Idioms/Execute-Around Pointer как в этом случае работает "operator->()" - C++
Читаю сейчас More C++ Idioms Дошел до Execute-Around Pointer и впал в ступор. Есть код // ideone.com/R728xo #include &lt;iostream&gt; ...

"Система учета продукции" с графическим интерфейсом и при этом использовать sql - C++
Подскажите пожалуйста! Задали написать программу &quot;Система учета продукции&quot; с графическим интерфейсом и при этом использовать sql. ...

Задача "Дан номер года. Найти число дней в этом году." - C++
Дан номер года. Найти число дней в этом году. Указание. В современном (григорианском) календаре каждый год номер которого делиться на 4,...

"И" ведет себя как "ИЛИ" - C++
Здраствуйте, помогите разобраться. Есть функция, кот. возвращает true, если клавиша удерживается. Если вызвать эту функцию для проверки 2...

Массив типа "Vector" (Вывести номера двух крупнейших элементов в этом массиве. Вычислить их сумму) - C++
Образовать и вывести массив &quot;y&quot; типа Vector с элементами yk = f (k) k = 1.12 е = 2.71 Вывести номера двух крупнейших элементов в этом...


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

Или воспользуйтесь поиском по форуму:
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
09.02.2011, 17:55     "потоковые переменные"... или что-то в этом роде... #6
prosto_lynx, нет нельзя, тут придется использовать нечто другое
вопрос что чаще приходится делать - читать или перемещать в памяти
из вектора быстрое чтение, но перемещение дорогое
из листа чтение дольше, но перемещение считай ничего не стоит

я пробовал использовать
C++
1
basic_stringstream<int> b( stringstream::in | stringstream::out );
(прародитель stringstream)
но оно работает по совсем другому принципу, можно как-нить по-извращаться и использовать поток в прямом смысле, но пока не знаю как
можно посмотреть как поток реализован
Yandex
Объявления
09.02.2011, 17:55     "потоковые переменные"... или что-то в этом роде...
Ответ Создать тему
Опции темы

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