5

我希望我的列表包含一个整数值和一个字符串值。这可能吗?
我正在使用只能存储整数的 STL 列表实现哈希表。我正在散列一个字符串以获取我存储整数的索引。现在我希望我的字符串也与整数一起存储。

编辑1:
所以我使用这个语句:

    list<pair<int,string>> table[127];    

这是我得到的错误:
>>' should be> >'在嵌套模板参数列表中好的我修复了这个..似乎我没有在“>>”中放一个空格所以现在它修复了

下一个问题
如何将我的对添加到表数组中?

4

3 回答 3

8

您可以有一个std::pairs 列表,或者,使用 c++11,std::tuple,例如:

std::list < std::pair< int, std::string > >list;
std::list < std::tuple< int, std::string > >list;

要访问一对中的元素,请使用pair.firstpair.second。要访问元组中的元素,请使用std::get

auto t = std::make_tuple(1,"something");
std::get<0>(t);//will get the first element of the tuple
于 2013-09-13T06:32:13.337 回答
2

您可以使用std::pairstd::tuple,

std::list<std::pair<int, string>> list;
于 2013-09-13T06:33:56.097 回答
1

您可以将字符串和整数存储在结构中并存储结构的对象。

每个列表元素可能如下所示:

struct element  {
    string str;
    int val;
};

这是 C 的处理方式,也请@SingerOfTheFall 的回答。

于 2013-09-13T06:31:04.910 回答