矢量索引简称

grz*_*zkv 3 c++ stl vector

假设我有一个向量

std::vector<a> A;

我可以通过.运算符访问其成员函数,我可以使用[]运算符对其进行索引.如果我有一个指向矢量的指针,例如

std::vector<a> *A;

我可以使用short ->运算符来访问它的成员,但索引非常不方便,即(*A)[i].如何更整洁地写出来?注意:我不满意A->at(),因为它进行了边界检查,这很慢,对我来说速度很重要.

Fle*_*exo 16

如果(*A)[i]是问题,将它绑定到引用是最简单的方法:

std::vector<a>& ref = *A;
ref[i] = 0; //use reference
Run Code Online (Sandbox Code Playgroud)

通常我更喜欢通过引用而不是指针传递向量,除非你真的想要允许NULL值.