STL list的使用

先看段代碼:

沒有對myserver和list對象進行釋放,主要是能夠訪問push進去的數據,只作爲測試,對於多少個元素,要在堆上分配多少個元素;

#include <iostream.h>

#include "list"

using namespace std;

struct server

{

char * sch;

char * ip;

int port;

};


typedef list<server*> serverlist;


struct area

{

char * my;

serverlist mylist;

};


typedef list<area*> arealist;


arealist myarealist;

list<area*>::iterator pstrlist;

server *myserver = new server[3];

void main()

{

area myarea[2];

for (int i=0; i<2; i++)

{

if(i==0)

myarea[i].my = "十三鄉";

else

myarea[i].my = "七裏鄉";


for (int u=0; u<3; u++)

{

myserver[u].sch = "test";

myserver[u].ip = "192.168.1.25";

myserver[u].port = 8000+u;

myarea[i].mylist.push_back(& myserver[u]);

}

myarealist.push_back(& myarea[i]);

}

pstrlist = myarealist.begin();

for(; pstrlist!=myarealist.end(); pstrlist++)

{

cout<<*pstrlist<<endl;

}

}

調試運行結果(VC6.0):

爲了訪問元素不應對myserver進行釋放。當釋放list之時,要對myserver進行釋放。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章