我想从向量返回对象的引用,并且该对象位于迭代器对象中。我怎样才能做到这一点?
我尝试了以下方法:
Customer& CustomerDB::getCustomerById (const string& id) {
vector<Customer>::iterator i;
for (i = customerList.begin(); i != customerList.end() && !(i->getId() == id); ++i);
if (i != customerList.end())
return *i; // is this correct?
else
return 0; // getting error here, cant return 0 as reference they say
}
代码中customerList是一个客户向量,getId函数返回客户的id。
是*i
正确的吗?我怎样才能返回 0 或 null 作为参考?