您的位置:首页 > 其它

map insert 函数指针 报内存泄露

2013-04-11 11:30 162 查看
在开发中遇到一个让我疑惑不解的问题, 由于要接收服务器的推送,我申明了一个 函数指针,提供给其它模块用来注册推送消息。我在接收socket 的类中使用了一个全局map

用来保存 注册的消息和回调函数指针 类似这样:

int iKey = k_KEYID(cModuleID, cmdID);

[lock_ lock];
iter_UdpNotify iter = g_udpNotify.find(iKey);
[lock_ unlock];

if (g_udpNotify.end() != iter) {
return -1;
}

[lock_ lock];
g_udpNotify.insert(value_UdpNotify(iKey, didNotify));
[lock_ unlock];


didNOtify 就是函数指针, 但是在使用 xcode 自带的 Instruments 跑leak时 发现在 insert 中总是报内存泄露, 换了各种方式均不能消除。 后来把声明的全局map 放在了类的成

员,在跑的话就不出 这个内存泄露了,

谁能告诉我这是为什么,函数指针做value时不能delete 的啊
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: