智能指针的用法

来源:互联网 发布:卖家淘宝客如何推广 编辑:程序博客网 时间:2024/05/21 17:13

struct Road
 {
  RoadNo_t     roadno;
  RoadName_t     roadname;
 };
 typedef Loki::SmartPtr<Road> Road_ptr;
 typedef std::vector<Road_ptr>  RoadsArray; // 使用share_ptr的路段的可变数组
 typedef RoadsArray::const_iterator RoadsIterator;
 ................
 struct Area
 {
  RoadsArray    roads;
 }
 .....................
 void
 RoadMng::_load(Area &area) throw (exception)
 {
  Road_ptr road;
  road=Road_ptr(new Road);
  road->roadno=roadno;
  road->roadname=roadname; 
  area.roads.push_back(road);
 }