有一段代碼的原型大概是這樣的:

QList<NetFlowObject> netflowobj_list; /** 從 list 列表中找出網(wǎng)卡名為 ifname 的 NetFlowObject 對象 **/ bool getNfoFromList(QString ifname, NetFlowObject &nfo);

其中 NetFlowObject 是自己寫的一個類,QList 是 Qt 提供的一個鏈表。 getNfoFromList 函數(shù)返回 boolean 型結(jié)果,如果找到相同名稱的網(wǎng)卡,返回 true,并將 nfo 設(shè)為 QList 中找到的 NetFlowObject 對象。否則返回 false。

那么最開始的想法是通過遍歷 QList 找到 NetFlowObject 對象。

bool NetInfo::getNfoFromList(QString ifname,NetFlowObject &nfo) {    //-------- A①foreach(NetFlowObject o, netflowobj_list) {              //-------- A② if(o.getIfName() ==ifname) { //-------- A③ nfo = o; return true; } } return false; }

網(wǎng)友評論