我有以下程序并在插入地图时出现问题:
static std::map<std::string,void *> name_data_map;
std::map<std::string,void *>::iterator iter=name_data_map.find(name) ;
if( iter == name_data_map.end() )
{
tmp_data = (void *) malloc ( mt_get_dkstat_size() );
errorCode = getsproxy(tmp_data , name );
name_data_map.insert(pair<std::string,void *>(name,tmp_data) );
}
memcpy(*data, iter->second, mt_get_dkstat_size() ) ;
插入后,tmp_data
正在损坏。而且我想了解这两种插入有什么区别:
name_data_map.insert(pair<std::string,void *>(name,tmp_data) );
name_data_map.insert(make_pair(name,tmp_data) );
感谢您的高级回复