2011-02-14 65 views
3

假设我有一个载体矢量索引短期

std::vector<a> A;

我可以通过.运营商访问其成员函数,我能与[]运营商建立索引。如果我有一个指向矢量的指针,例如

std::vector<a> *A;

我可以使用短->运营商成员,但索引是非常不方便的,即(*A)[i]。它如何更加整齐地书写? 备注:我对A->at()不满意,因为它进行边界检查,速度慢,对我来说速度很重要。

+2

”索引非常不方便“,真的吗?三个额外的字符键入?阅读起来并不是特别讨厌。 – GrahamS 2011-02-14 15:36:24

回答

16

将其绑定到一个参考是最简单的方式,如果(*A)[i]一个问题:

std::vector<a>& ref = *A; 
ref[i] = 0; //use reference 

一般情况下我更喜欢通过引用而不是指针传递载体无论如何,除非你真的要允许NULL值了。 “