35岁退休 2022-08-30 08:45 采纳率: 66.7%
浏览 27
已结题

vector中存的到底是什么

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

3条回答 默认 最新

  • Huppert 2022-08-30 09:21
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 9月6日
  • 已采纳回答 8月30日
  • 创建了问题 8月30日