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);
}