2011-02-14 56 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值了。 「