Добрый день! Задача следующая, реализовать запись и чтение в очередь... С записью вопросов не возникает.
//создаем необходимую структуру
struct my_data_rows
{
char* name1;
char* name2;
char* name3;
char* name4;
};
//объявляем очередь
queue<my_data_rows> queue_rows_with_data;
//записываем
bool writeDataToBuffer(char* name1, char* name2, char* name3, char* name4) {
my_data_rows new_my_data;
new_my_data.name1 = name1;
new_my_data.name2 = name2;
new_my_data.name3 = name3;
new_my_data.name4 = name4;
queue_rows_with_data.push(new_my_data);
return true;
}
С этим вроде бы все понятно. Вот не понятно начинается дальше, когда я пытаюсь прочитать из очереди..
bool readDataToBuffer()
{
my_data_rows new_my_data;
for (int x = 0; x < queue_rows_with_data.size(); x++)
{
queue_rows_with_data.pop();
}
return true;
}
Собственно сам вопрос, как прочитать из очереди структуру, и вывести например с помощью стандартного оператора cout.
Вас спасет front()
- в силу ряда проблем с безопасностью исключений функция, возвращающая элемент, и функция, удаляющая его - это разные функции.
bool readDataToBuffer()
{
my_data_rows new_my_data;
while(!queue_rows_with_data.empty())
{
new_my_data = queue_rows_with_data.front();
cout << new_my_data.name1 << endl;
queue_rows_with_data.pop();
}
return true;
}
Вопрос только - вы собираетесь хранить в структуре именно указатели? Так, чисто на всякий случай - надеюсь, вы отдаете себе отчет, что данные, на которые они указывают, должны быть актуальны при работе с ними (что вы там собираетесь делать - выводить?)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Есть кастомный QTextEdit, как в него добавить всплывающие подсказки при вводе, как в Qt Creator, Sublime или любой IDE
Лучше чтобы ее видно было во всем проекте, но в принципе можно чтобы она работала и только вpro файле Qt
Даны целые числа K, N и набор из N целых чиселЕсли в наборе имеются числа, меньшие K, то вывести TRUE; в противном случае вывести FALSE