我想要一个从加权组件列表继承的类(这是 C++),并从列表组件的类型继承,这样我就可以直接访问第一个成员。我不确定这是怎么可能的,但基本上我想做的是:
class Component;
class WeightedComponent: public pair<Component,float>;
class WeightedList : public list<WeightedComponent> : public Component;
然后我的大部分代码都围绕着构建和操作这个列表(而不是组件本身)。我想要做的就是让以下情况始终如此
WeightedList weightedList;
// ... fill the weightedList with various WeightedComponents ...
(Component*)(&weightedList) == &(weightedList.begin().first)
那么有没有一种方法可以设置我的 WeightedList 类,使其基本 Component 对象始终是(或指向)其基本 list.begin().first 对象,而无需在列表清除、重新填充、删除时在整个代码中进行手动干预,重新排序等?