vector中存的到底是什么

vector中存的到底是什么
今天偶然间看到一篇文章,讲的是noexcept关键字下,vector扩容使用的是move而不是copy,按我对move的理解,假设现在有一个指针A,指向一个对象的实际内存,要将对象交给B,move仅仅是将B指针指向这块内存,之后将A指针置空。如果是这样的话,vecotr在扩容得时候,申请了新的连续的内存,move又不改变对象的内存位置。那他到底是怎么move的啊。还是说vector的连续内存里存的永远都是指针而不是对象本身?

vector中存的就是你定义的东西啊,比如 vector 你move就没有啥意义,比如 vector,那么move会有很大的性能提升。
所以它并没有存储什么特殊东西,主要看你定义的这个对像在move语义下是否高效。

建议你看下这篇博客vector的实现及总结
你还可以看下cpp参考手册中的 c++-vector<>

vector是开源的
再VS IDE中单步vector操作对应汇编指令几步后,可以进入vector源代码