假设我有一个向量
std::vector<a> A;
我可以通过.
运算符访问其成员函数,我可以使用[]
运算符对其进行索引。如果我有一个指向矢量的指针,例如
std::vector<a> *A;
我可以使用短->
运算符访问其成员,但索引非常不方便,即(*A)[i]
。如何更整洁地写出来? 注意:我对A->at()
不满意,因为它进行边界检查,速度很慢,对我来说速度很重要。
答案 0 :(得分:16)
如果(*A)[i]
出现问题,将其绑定到引用是最简单的方法:
std::vector<a>& ref = *A;
ref[i] = 0; //use reference
通常情况下,我宁愿通过引用而不是指针传递向量,除非你真的想要允许NULL
值。