stl向量如何提供随机访问

Aru*_*tri 4 c++ stl stdvector

昨天晚上我使用std :: vector进行工作,这个问题突然出现在我脑海中:矢量如何提供随机访问?

我试图查看代码,但没有成功.任何人都可以提供一些指示吗?

谢谢,阿伦

i_a*_*orf 19

Vector使用下面的连续内存,因此它以与数组相同的方式提供随机访问:它知道起始地址和元素的大小,并进行一些指针数学运算.


Tho*_*mas 12

当然,这里有一些指示:

int *x, *y;
Run Code Online (Sandbox Code Playgroud)

但严重的vector是,a 内部只是作为一个数组实现.它提供了一个重载的索引operator([]),允许您像数组一样访问它.

  • +1(+2表示多指针,但-1表示未初始化指针:) (9认同)