【发布时间】:2017-11-14 04:47:18
【问题描述】:
我是 stl 的新手,我遇到了一个问题,需要将许多具有相同特征的对存储在一起(例如:- (string,int))。我们可以将对存储在数组中吗?如果可以,如何存储?提前谢谢..
【问题讨论】:
-
查找
std::tuple或std::pair和std::array或std::vector。
我是 stl 的新手,我遇到了一个问题,需要将许多具有相同特征的对存储在一起(例如:- (string,int))。我们可以将对存储在数组中吗?如果可以,如何存储?提前谢谢..
【问题讨论】:
std::tuple或std::pair和std::array或std::vector。
你可以试试这样的:
struct demo
{
string str;
int i;
};
std::array<demo, 5> arr; //for fixed size array of 5 elements
std::vector<demo> vec; //for dynamic size arrays
【讨论】:
你想要...
存储许多具有相同特征的对
术语有点错误。您想存储多对相同的type(不是“特征”)。
您可以将自己的struct 定义为answered by Nipun,或使用
std::array<std::pair<std::string,int>, 10> arr;
用于 10 对字符串和整数的数组。
花更多时间阅读standard containers 和标准utilities 的文档。也许你想要一些其他现有的东西(例如std::set 和std::tuple,也许还有你自己的comparator)。
模板可以(并且通常应该)组合,因为它们是组合的。还要注意rule of five。
【讨论】: