可以存储带编号的整数值的C ++容器(或功能)

时间:2019-01-12 17:02:30

标签: c++ containers

是否有一个容器或派系允许我存储整数值,同时在每个值上都有一个设置的编号或名称。我确切需要的是一种对以下值进行排序的方法:[12、3、8、32、13],但是要跟踪哪个值,例如。 12是v1,8是v3等。

2 个答案:

答案 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