问题描述
- STL容器map 下标访问的问题
- STL容器map 下标访问的问题
定义了如下的一个map 容器 Key 是int values 是一个结构体
typedef struct _prostru
{
int jmqnum;
int bncnun;
_prostru()
{
jmqnum=-1;
bncnun=-1;
}
}PROSTRU;map m_pro;
m_pro[1].jmqnum=5;
m_pro[2].bncnum=2;在进程中 可以用下标访问和修改 结构体中的值
线程传入后 是个指针的 这样子写应该没错吧
map *pInfo=(map *)Pparam;
那么怎么用 pInfo 去修改 比如 下标Key为 1的值?
要用迭代器么?find 后再改?
能不能直接用数组下标一样的方法?
pInfo[1]->jmqnum=3;这样子的
解决方案
map * pInfo = (map *)(Ppram);
*pInfo[1].jmqnum=5;
这里你要用模板map去特化一个类型
解决方案二:
map<intPROSTRU> * pInfo = (map<intPROSTRU> *)(Ppram);
*pInfo[1].jmqnum=5;
这里你要用模板map去特化一个类型
解决方案三:
指针就用->
pInfo->[1]->jmqnum=3;
解决方案四:
STL容器map的下标运算符[]
时间: 2025-01-19 19:02:28