如何用C++编写三维映射
How to write 3d mapping in C++?
你能告诉我如何写多维映射吗。对于二维地图,我做了以下操作:
map<string, int> Employees
Employees[“person1”] = 200;
我试着使用类似于以下的东西进行三维映射。
map<string, string, int> Employees;
Employees[“person1”, “age”] = 200;
你能告诉我做这件事的正确方法吗?
有没有一种方法可以将所有映射元素初始化为0?就像在阵列上一样,我们可以说int array[10]={0};
您需要创建这样的映射映射。
map<string, map<string, int> > employees;
employees["person1"]["age"] = 200;
您可以使用utility
库的pair
类来组合两个对象:
map<pair<string, string>, int> Employees;
Employees[make_pair("person1", "age")] = 200;
请参阅http://www.cplusplus.com/reference/std/utility/pair/
您可以使用元组作为键,而不是嵌套映射;(这是一个c++11代码,您也可以对boost::tuple
执行同样的操作)。
#include<map>
#include<tuple>
#include<string>
using namespace std;
map<tuple<string,string>,int> m;
int main(){
m[make_tuple("person1","age")]=33;
}
您在这里所做的不是3D映射而是2D映射,如何使用stl::map作为二维数组
正确的3D映射将像一样
map<string, map<string, map<int, string> > > Employees;
Employees[“person1”][“age”][20] = "26/10/2014";
相关文章:
- 如何将三维尺寸不固定的三维阵列展平为一维阵列
- 如何在 perl 中将多维映射从 c++ 转换为哈希
- 如何使用qt缩放三维网格
- 三维数组中的C/C++DWORD到BYTE和BYTE到DWORD的转换
- 使用vtkImageReslice重新切片三维原始图像
- 特征:创建一个具有函数的三维阵列
- 扩充矩阵的行缩减-三维样条曲线计算
- 使用pcl transformcloud将三维点平移并旋转到原点
- 用C++从三维矢量中删除元素
- 如何访问CGAL三维三角测量中的面
- 如何在Openscenegraph中从二维鼠标点击的屏幕坐标点计算三维点(世界坐标)
- std::将三维数组复制到三维向量中
- 显示结构的三维数组
- 如何将X 2维数组连接到一个三维阵列中
- 使用unique_ptr来管理三维数组
- 如何访问三维矩阵元素
- 无法访问三维数组中的特定位置
- 在C++中的OpenGL中将坐标从三维透视投影映射到二维正投影
- 如何用C++编写三维映射
- 如何使用std::map将布尔映射到三维点结构