vector容器的find的用法
我知道vector<CString>::iterator result=find(Out.begin(),Out.end(),searvalue);即找容器Out中是否有searvalue值这个用法,但是如果我现在定义了一个这样的容器
class RecvBuff
{
public:
CString buwei;
CString NO;
CString type;
CString FtreeNum;
};
vector<RecvBuff>Out;//用于存储准备输出的节点
如果现在仅知道容器里某一元素的FtreeNum,即只知道Out[i].FtreeNum,现在要通过find函数找到对应的Out[i],怎么做呢??谢谢各位来帮忙啊
[解决办法]
那你自己用迭代器遍历一遍Vector不就搞定了啊。
反正复杂度就(n),不会影响什么效率的
[解决办法]
遍历一下,或者你不用vector,用map
[解决办法]
map<CString, RecvBuff*> out;
CString theNum;
RecvBuff *p = out.find(theNum).second;
[解决办法]
顺便补充以下,如果你的 FtreeNum 是数值,那么可以考虑定义成INT, 或者double