C++ map中以结构体做value

a1033520411 2013-05-20 05:05:58
本人刚刚学习map函数,现在出于编程的需要,需要用构建一个map变量,用结构体做它的value,定义如下:
typedef struct node{
int status;
int t;
}node;
map(int,node);
不知道上面的定义方式对不对,同时我还想问下如何对map中的结构体的内容进行赋值,以及如何调用结构体的内容
...全文
3911 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
buyong 2013-05-21
  • 打赏
  • 举报
回复
std::map<int,node> your_map; node n; your_map.insert(make_pair(1,n));
qhpxy 2013-05-21
  • 打赏
  • 举报
回复
引用 5 楼 hugett 的回复:
定义是
map<int, node> mp;
赋值的话,直接用对应项的key就行。。
mp[key] = newnode;
调用结构体的内容也一样。。

map[key].t = 1;
++
turing-complete 2013-05-21
  • 打赏
  • 举报
回复
引用 5 楼 hugett 的回复:
定义是
map<int, node> mp;
赋值的话,直接用对应项的key就行。。
mp[key] = newnode;
调用结构体的内容也一样。。

map[key].t = 1;
如果 key 原来在map中不存在呢? status 会是LZ想要的值吗?
hugett 2013-05-21
  • 打赏
  • 举报
回复
定义是
map<int, node> mp;
赋值的话,直接用对应项的key就行。。
mp[key] = newnode;
调用结构体的内容也一样。。

map[key].t = 1;
lishengkai 2013-05-21
  • 打赏
  • 举报
回复
是可以这样定义,操作的时候你别它想太复杂了,先把它当作一个普通的value取出来,然后是什么结构体就按照那种结构体的操作去赋值
sniffer12345 2013-05-20
  • 打赏
  • 举报
回复
引用 楼主 a1033520411 的回复:
本人刚刚学习map函数,现在出于编程的需要,需要用构建一个map变量,用结构体做它的value,定义如下: typedef struct node{ int status; int t; }node; map(int,node); 不知道上面的定义方式对不对,同时我还想问下如何对map中的结构体的内容进行赋值,以及如何调用结构体的内容
声明 std::map<int,node> dict; 赋值 node n = {0,0};dict[10] = n; 取 if(dict.find(10) != dict.end()){ return dict[10];} 或者 dict.at(10);
赵4老师 2013-05-20
  • 打赏
  • 举报
回复
先上http://www.cplusplus.com熟悉和map相关的所有例子代码再说。
turing-complete 2013-05-20
  • 打赏
  • 举报
回复
有必要要定义node? 用std::pair<int, int> 吧 赋值之前先调用find函数,找出来之后再赋值。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧