我可能有一个糟糕的一天,因为这感觉非常基本,但我不能满足于一种感觉正确的方法。我把它作为更大班级的一部分,
std::vector<std::tuple<A, B, C>> m_data;
std::optional<const C&> get_C_from_A(const A&);
std::optional<const C&> get_C_from_B(const B&);
因为它们是关联,所以地图感觉很自然,但在这种情况下,我需要多个地图(A-> C和B-> C)并保持数据一致,感觉它可能会非常粗糙。一个简单的数组可以清除它。
我所做的事情是否有名称,我是否以合理的方式做到这一点,是否有更好的编程工具来表达这些关系?