170 похожих чатов

Как реализовать вектор из разных типов данных?

19 ответов

19 просмотров

vector<variant>

Daniil- Автор вопроса

Эти типы будут накидываться в список в рантайм

типы заранее известны?

Daniil
Эти типы будут накидываться в список в рантайм

в С++ все типы известны на этапе компиляции)

Daniil- Автор вопроса
Denis P
в С++ все типы известны на этапе компиляции)

Ну всм шаблоны тут не подойдут, скорее всего

Daniil
Ну всм шаблоны тут не подойдут, скорее всего

Так даже при использовании шаблона тип на этапе компиляции известен.

Daniil- Автор вопроса
Denis P
вы хотите чего-то странного

Мне прилетает ебещщая куча разных сообщений. Эти сообщения парсятся и раскладываются по структурам(у каждого вида сообщений своя структура) Так вот мне нужно зафигачить что-то типо очереди из этих структур для последующей обработки

Daniil
Мне прилетает ебещщая куча разных сообщений. Эти с...

Может их все наследовать от одного предка? И в векторе хранить указатель на предка?

Daniil
Мне прилетает ебещщая куча разных сообщений. Эти с...

ну у каждого сообщения есть как минимум хедер какой-то с ид и прочим

Daniil
Мне прилетает ебещщая куча разных сообщений. Эти с...

У вас это намерение выразить в коде не получится? Мне просто интересно как это вы себе представляете... А вообще std::variant / std::any, судя по всему. Или kelbon::anyany, как вариант

Daniil- Автор вопроса
Vladimir
У вас это намерение выразить в коде не получится? ...

Проблема в том, как в вектор напихать разные типы данных, но вот гуглю std::variant, Кажется подходит

Daniil
Мне прилетает ебещщая куча разных сообщений. Эти с...

А иметь что-то вроде базового интерфейса сообщений, отнаследовать от него нужные типы и на этом построить логику обработки сообщений не подходит? Оно более корректное, имхо

d7d1cd
Может их все наследовать от одного предка? И в век...

struct base {}; struct message1 : base {}; struct massage2 : base {}; vector<base*> vec; vec.push_back(new message1); Ну только не голые указатели использовать, а умные.

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
10
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Карта сайта