【发布时间】:2010-03-10 12:02:10
【问题描述】:
我需要创建一个映射,从整数到元组集合,单个集合中的元组具有相同的大小。问题在于元组的大小及其参数类型可以在运行时确定,而不是在编译时确定。我在想象这样的事情:
std::map<int, std::set<boost::tuple> >
但不完全确定如何准确地做到这一点,主要是使用指针。
这样做的目的是创建临时关系(表),每个都有唯一的标识符(键),也许你有另一种方法。
【问题讨论】:
-
请澄清:一个集合只存储相同大小的元组,但不同的集合可以有不同的元组大小?
-
是的,一个集合只存储相同大小的元组,但不同的集合可以有不同的元组大小。
-
你想在编译时对元组中所有大小相同的元素施加限制吗?此外,元组可以是任何类型,其中一个元组具有相同类型的数据?
-
我只插入整数。
-
如果只插入一种类型的值,为什么要使用元组?除非您有一些未指定的限制,否则为什么不使用 std::vector
(这很可能最终会比您可能设计的能够使用 boost::tuple 的任何解决方法更便宜和更强大)?
标签: c++ boost-tuples