是否有一个容器或派系允许我存储整数值,同时在每个值上都有一个设置的编号或名称。我确切需要的是一种对以下值进行排序的方法:[12、3、8、32、13],但是要跟踪哪个值,例如。 12是v1,8是v3等。
答案 0 :(得分:3)
您要实现的是映射(即,事物 A 映射到事物 B 的方式的列表),并且C ++为您提供了很多地图容器。
例如:
#include <map>
int main()
{
// Map of integer values to version number
std::map<int, int> values{
{12, 1},
{3, ?},
{8, 3},
{32, ?},
{13, ?}
};
}
您的书将说明如何正确使用此功能。
答案 1 :(得分:3)
一个简单的例子:
#include <map>
#include <string>
#include <iostream>
int main()
{
std::map<int, std::string> m;
m[1] = "un";
m[123] = "a lot";
std::cout << "1 : " << m[1] << std::endl;
std::cout << "0 : " << m[0] << std::endl; // that add a new entry for 0 in 'm' with an empty string and returns that empty string
std::cout << "123 : " << m[123] << std::endl;
return 0;
}
执行为:
1 : un
0 :
123 : a lot