????????н???? c++????????? c++ ????????????????? QT / C++ д??? Linux Deepin ?????????????????????С??????????? c++ ????????????????????
??????????????????С?????????????????÷???
????????δ??????????????????
????QList<NetFlowObject>  netflowobj_list;
????/** ?? list ?б????????????? ifname ?? NetFlowObject ???? **/
????bool getNfoFromList(QString ifname?? NetFlowObject &nfo);
???????? NetFlowObject ?????д???????QList ?? Qt ???????????? getNfoFromList ???????? boolean ?????????????????????????????? true?????? nfo ??? 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; }
void NetInfo::someFunction() {
// ??????????? nfo ???????????????
NetFlowObject nfo1;
bool finded = getNfoFromList(ifname?? nfo1);  ????????????????????????//-------- B??
if(finded) {
nfo1.updateRecvBytes(if_recv_bytes.toInt());
nfo1.updateTransBytes(if_trans_bytes.toInt());
}
}
??????????????δ?????????а???? QList ?????е?????????????????????????????? A?? ??????????? nfo ???????? someFunction ?? B?? ???? nfo1 ??????nfo1 ?????????????????????? nfo ????
???????????????????????? nfo1 ??????????????????????????????
??????Σ?A????? foreach ??????????????? QList ?????????????????????????????а????????? NetFlowObject ???????
?????e??????????? c++ ???????????????????????? QList ?е???? NetFlowObject ???????????????????????? NetFlowObject ????????????? NetFlowObject * ??????ɡ????????????? for ?????????
????????????
bool NetInfo::getNfoFromList(QString ifname??NetFlowObject *nfo) {
for(int i = 0; i < netflowobj_list.count(); i++) {
NetFlowObject o = netflowobj_list[i];
//        PrintUtil::print(o.getIfName() + "  ===  " + QString::number(o.getLatestRecvBytes()));
if(o.getIfName() == ifname) {
*nfo = netflowobj_list[i];  // ??????????? NetFlowObject ???????? o  ????????-------C??
return true;
}
}
return false;
}
??????????
????bool finded = getNfoFromList(ifname?? &nfo1);
??????????????????????? nfo1 ??????????Ч???? QList ?? NetFlowObject ??????????????и??????д????????? C?? ???????????????
????????????? QList ????? at(i) ?????? QList[i] ?????????????????????????????? const T &QList.at(int i) const??????????? at() ???????? nfo ???????????
??????????????????????? T &QList::operator[] (int i)????????????????????????????????
?????????????ò????Ч?????????????????????????? NetFlowObject * ?????????????? NetFlowObject ????????????á?????????????????????????????????????????????????????????????????
bool NetInfo::getNfoFromList(QString ifname??NetFlowObject **nfo) {
for(int i = 0; i < netflowobj_list.count(); i++) {
NetFlowObject o = netflowobj_list[i];
//        PrintUtil::print(o.getIfName() + "  ===  " + QString::number(o.getLatestRecvBytes()));
if(o.getIfName() == ifname) {
*nfo = &netflowobj_list[i];  // ??????????? NetFlowObject ??????? QList ?е? i ???????????
return true;
}
}
return false;
}
void NetInfo::someFunction() {
NetFlowObject *nfo;
bool finded = getNfoFromList(ifname?? &nfo);
if(finded) {
nfo->updateRecvBytes(if_recv_bytes.toInt());
nfo->updateTransBytes(if_trans_bytes.toInt());
}
}
???????????????????????? QList ?????ж????????
?????о?????????????????????????? getNfoFromList ???? NetFlowObject * getNfroFromList(QString ifname);
??????????????????????????????????????????????????????????????????
????--------------------------  ??? -------------------------
?????????????????????????????????????????????????????????????????????????????????????????????????????debug ??????????????????????????????????????????