Используя C++ с boost/stl, как я могу объединить два списка разных объектов, скажем, A и B? Они имеют некоторые общие и некоторые разные поля/свойства и не имеют уникального идентификатора.Как слить два контейнера (векторы/списки) разных структур, но с одним общим параметром в C++
class A
{
int id;
double smth;
}
class B
{
int id;
std::string name;
Type type;
}
class C
{
int id;
std::string name;
Type type;
double smth;
}
Так что идея в том, что у меня есть, например, std::list<A>
и std::list<B>
, и я хочу легко объединить их с std::list<C>
Как вы строите 'C' из' A', является 'id' идентификатором, поэтому, если' a.id == b.id', 'C' нужно построить из' a' и 'b'? – Jarod42
@ Jarod42, я думаю 'a.id! = B.id' всегда. Я основываю это на «... не делясь уникальным идентификатором» –