vector<variant>
Эти типы будут накидываться в список в рантайм
типы заранее известны?
в С++ все типы известны на этапе компиляции)
Ну всм шаблоны тут не подойдут, скорее всего
вы хотите чего-то странного
Так даже при использовании шаблона тип на этапе компиляции известен.
Мне прилетает ебещщая куча разных сообщений. Эти сообщения парсятся и раскладываются по структурам(у каждого вида сообщений своя структура) Так вот мне нужно зафигачить что-то типо очереди из этих структур для последующей обработки
Может их все наследовать от одного предка? И в векторе хранить указатель на предка?
ну у каждого сообщения есть как минимум хедер какой-то с ид и прочим
У вас это намерение выразить в коде не получится? Мне просто интересно как это вы себе представляете... А вообще std::variant / std::any, судя по всему. Или kelbon::anyany, как вариант
Проблема в том, как в вектор напихать разные типы данных, но вот гуглю std::variant, Кажется подходит
А иметь что-то вроде базового интерфейса сообщений, отнаследовать от него нужные типы и на этом построить логику обработки сообщений не подходит? Оно более корректное, имхо
Наследование есть какое нибудь?
через стирание типов - самый гибкий способ
struct base {}; struct message1 : base {}; struct massage2 : base {}; vector<base*> vec; vec.push_back(new message1); Ну только не голые указатели использовать, а умные.
Обсуждают сегодня