c++vector是分配在栈上还是堆上?

如题?c++ stl的vector是分配在栈上还是堆上?详细说说啊?

肯定是堆,只有堆能动态分配内存

堆上。

vector是动态分配内存,所以是在堆上根据需要动态申请。

vector本身是个栈的对象,但是allocator的空间在堆里,这种差不多就是java里的代理模式容器,所以分配是在堆上