C++引用与for循环内变量的指针?

标签 c++ for-loop iterator reference

我可以使用 c 的引用变量(例如,Customer &c)吗?如果是这样怎么办?这比使用指针变量更好吗?

    for(std::vector<Customer*>::const_iterator it = customers_.begin();
        it != customers_.end() ; it ++)
    {
        Customer *c = (*it);
        c->PrintName();
        ...
    }

最佳答案

是的:

for(std::vector<Customer*>::const_iterator it = customers_.begin();
    it != customers_.end() ; it ++)
{
    Customer &c = *(*it);
    c.PrintName();
    ...
}

(括号不是必需的,但可以使它更清楚。)

关于C++引用与for循环内变量的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041536/

相关文章:

c++ - 为什么我得到 : "cannot seek vector iterator after end"

java - Android:使用迭代器从列表中删除元素

c++ - LeetCode 15:使用 HashMap 的3Sum

c++ - 关于 No such file or directory compilation terminated 错误

c++ - 不能声明只有一个参数的匿名对象

C for循环失败

javascript - 如何更改 JSPsych 中刺激呈现的权重?

windows - DOS 批处理遍历列表中的数字

c# - 将对象数组从 C# 返回到 COM 中的 C

c# - IEnumerable<object[]> 和 IEnumerable<object>[] 之间的优雅转换