STL map容器内存分配问题,请高手指点下,谢谢。。。

std::map<CString,var_info>Varlist;mfc中如上定义了map变量Varlist,用来按不同名字存储数据,var_info是个结构体如下,要... std::map<CString,var_info> Varlist;
mfc中如上定义了map变量Varlist,用来按不同名字存储数据,var_info是个结构体如下,要存储的UINT* value可能有几千个,用map容器来存储,不手动申请内存可以吗?资料上说map变量是自动管理内存的。我value中存储的数据可能有几千个,而且有一百多个变量要存进Varlist中,如果手动需手动分配内存,该如何做呢??麻烦高手给我答疑,谢谢。。
struct var_info
{
UINT* value;
UINT max;
UINT min;
BOOL Selected;
};
展开
 我来答
不总是47
推荐于2016-06-07 · 超过10用户采纳过TA的回答
知道答主
回答量:16
采纳率:0%
帮助的人:20.3万
展开全部
手动分配内存的话,则要这么分配,首先分配结构体,例如 :
var_info test_Info;
pnifo.value = new UINT[sizeof(UINT)*3000];

typedef map<int,var_info> MapInfo;
MapInfo Varlist;
Varlist.insert(MapInfo::value_type(_T("Monday"),infoMation));

具体你要分配多少千个数据,就将3000改为你自己想要的数目就行了。

请注意!!!当你使用完这个容器后,再退出程序时要用迭代器重头开始
遍历,将它们一一delete掉,并且置空。
请采纳,谢谢。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式