我想在地图中插入一个指向对象的指针。这是正确的方法吗?
object myobject[10];
....
mymap.insert( std::pair<int,object*>(pktctr, &myobject[pktctr]));
最佳答案
这是正确的方法吗?
是的,尽管使用make_pair
可能会更好:
mymap.insert(std::make_pair(pktctr, &myobject[pktctr]));
或C ++ 11语法:
mymap.insert({pktctr, &myobject[pktctr]});
唯一的危险是必须在销毁
myobject
之前确保删除了指针或销毁了映射(或者至少要确保在此之后永远不要使用指针)。否则,您将有一个悬而未决的指针和大量等待发生的错误。