Exceptional C++

【Exceptional C++(5)】使用标准库

2018-01-26  本文已影响6人  downdemo
// 修改后的版本,仍然存在对l.end()多余的调用
string FindAddr(const list<Employee>& l,const string& name)
{
    string addr;
    for (list<Employee>::const_iterator i = l.begin(); i != l.end(); ++i)
    {
        if ( (*i).name == name)
        {
            addr = (*i).addr;
            break;
        }
    }
    return addr;
}
string FindAddr(const list<Employee>& l, const string name)
{
    string addr;
    list<Employee>::const_iterator i = find(l.begin(), l.end(), name);
    if (*i != l.end())
    {
        addr = (*i).addr;
    }
    return addr;
}
上一篇下一篇

猜你喜欢

热点阅读