【发布时间】:2019-06-11 14:41:16
【问题描述】:
我有一组不同类型的向量,如下所示:
std::vector<int> a_values;
std::vector<float> b_values;
std::vector<std::string> c_values;
每次我得到a、b 和c 的新值时,我都想将它们推送到它们各自的向量a_values、b_values 和c_values。
我想以最通用的方式执行此操作,理想情况下我可以迭代向量。所以我想要一个函数addValue(...),它会在每个向量上自动调用相应的push_back()。如果我添加一个新向量 d_values 我只想在一个地方指定它。
这篇文章https://softwareengineering.stackexchange.com/questions/311415/designing-an-in-memory-table-in-c 的第一个答案似乎是相关的,但我想轻松获取给定名称的向量,而无需手动转换为特定类型。 IE。我想打电话给getValues("d"),这会给我底层的std::vector。
有没有人有一个这样做的集合类的基本示例?
【问题讨论】:
标签: templates vector data-structures generic-programming