首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C++中编写3d贴图?

如何在C++中编写3d贴图?
EN

Stack Overflow用户
提问于 2012-02-12 18:05:06
回答 4查看 7.2K关注 0票数 7

你能告诉我怎么写多维地图吗?对于二维地图,我执行了以下操作:

代码语言:javascript
复制
map<string, int> Employees
Employees[“person1”] = 200;

我正在尝试使用类似于following的东西来进行3d映射。

代码语言:javascript
复制
map<string, string, int> Employees;
Employees[“person1”, “age”] = 200;

你能告诉我做这件事的正确方法吗?

有没有办法把所有的map元素都初始化为0?就像在数组上一样,我们可以说int array[10]={0};

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-12 18:06:34

你需要创建这样的地图的地图。

代码语言:javascript
复制
map<string, map<string, int> > employees;
employees["person1"]["age"] = 200;
票数 9
EN

Stack Overflow用户

发布于 2012-02-12 18:14:26

您可以使用utility库的pair类来组合两个对象:

代码语言:javascript
复制
map<pair<string, string>, int> Employees;
Employees[make_pair("person1", "age")] = 200;

请参阅http://www.cplusplus.com/reference/std/utility/pair/

票数 6
EN

Stack Overflow用户

发布于 2012-02-12 18:16:08

您可以使用元组作为键,而不是嵌套的boost::tuple;(这是一段c++11代码,您也可以对元组执行相同的操作)。

代码语言:javascript
复制
#include<map>
#include<tuple>
#include<string>
using namespace std;
map<tuple<string,string>,int> m;
int main(){
    m[make_tuple("person1","age")]=33;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9247948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档