C++中向量obj的地址是什么?

xun*_*ang 1 c++ vector memory-address

请参阅以下代码:

#include <vector>
#include <iostream>
int main(int argc, char *argv[]) {
  std::vector<double> obj(10,0);
  std::cout << &obj << std::endl;
  std::cout << &obj[0] << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我想知道这两个地址之间的区别并谢谢!据我所知,对于一个阵列状a[5],&a<=> &a[0]<=> a.

yur*_*hek 7

&obj是向量本身的地址,而向量&obj[0]是向量内部的数据的地址.数组只是存储在其中的数据,因此数组的地址实际上与数据的地址相同,而向量在堆上分配其内部数据.