我希望我的列表包含整数值和字符串值。这可能吗?
我正在使用STL列表实现一个哈希表,它只能存储整数。我正在散列一个字符串来获取我存储整数的索引。现在我希望我的字符串也与整数一起存储。
编辑1:
所以我正在使用这个声明:
list<pair<int,string>> table[127];
这是我得到的错误:
>>' should be
&GT; &GT;”在嵌套模板参数列表中
好吧我修好了..似乎我没有在“&gt;&gt;”中添加空格所以现在修复
下一个问题
如何将我的对添加到表数组?
答案 0 :(得分:8)
您可以拥有std::pair
的列表,或者使用c ++ 11,std::tuple
,例如:
std::list < std::pair< int, std::string > >list;
std::list < std::tuple< int, std::string > >list;
要访问对中的元素,请使用pair.first
和pair.second
。要访问元组内的元素,请使用std::get
:
auto t = std::make_tuple(1,"something");
std::get<0>(t);//will get the first element of the tuple
答案 1 :(得分:2)
您可以使用std::pair
或std::tuple
,
std::list<std::pair<int, string>> list;
答案 2 :(得分:1)
您可以将字符串和整数存储在结构中并存储结构的对象。
每个列表元素可以如下所示:
struct element {
string str;
int val;
};
这是C方式处理,请@SingerOfTheFall的回答。