标签: c++ pointers vector
答案 0 :(得分:1)
std::vector的实现包含2个指针:
std::vector
分配数组的开头
分配数组结束后的1个元素
基本上,当您声明一个向量时,它在堆中没有分配空间,但是当您添加元素时,它会发生变化。
请注意std::vector管理它使用的内存,因此您无需担心new和delete(不必要的复杂性)。一旦超出范围,它就会释放其内存(堆栈和堆)。
new
delete
正如你所说,矢量可以很容易地通过引用传递,它的工作方式与机器代码的指针相同,而且更清晰。