C++ 如何表示多路数据关联

C++ 如何表示多路数据关联,c++,data-structures,C++,Data Structures,我可能会有一个糟糕的一天,因为这感觉很基本,但我无法确定一个感觉正确的方法。我把它作为一个大班级的一部分 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&); std::向量m_数据; std::

我可能会有一个糟糕的一天,因为这感觉很基本,但我无法确定一个感觉正确的方法。我把它作为一个大班级的一部分

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&);
std::向量m_数据;
std::可选的get_C_from_A(const A&);
std::可选的get_C_from_B(const B&);
因为它们是关联,所以映射感觉很自然,但在这种情况下,我需要多个映射(A->C和B->C),保持数据的一致性感觉可能会非常糟糕。一个简单的数组就可以清除它


我正在做的事情是否有一个名字,我是否以一种合理的方式来做,是否有更好的编程工具来表达这些关系?

?@StoryTeller-我在一个有自己的标准库和习惯用法(WebKit)的项目中,我无法引入boost,所以我希望实现比这更简单的东西(我还不足以理解boost代码)为什么不使用std::multimap?@CT-那么如果你不介意一点间接的话,也许是一对
std::map@StPiere与多重贴图相反