C++笔记之vector的底层实现和扩容机制

C++笔记之vector的底层实现和扩容机制

1. 先申请内存空间,内存空间容量变成原来的n倍(一般是原来的两倍)
2. 将原本容器中的数据拷贝到新的内存空间中
3. 释放原来的内存空间
4. 将数组指针指向新容器的内存空间

code review!

文章目录

  • C++笔记之vector的底层实现和扩容机制
    • 1.vector底层如何实现的,扩容机制是怎样的?
    • 2.vector底层是std::array吗?
    • 3.vector扩容是把原来的内存扩成2倍,还是分配新的内存地址然后新的内存空间是原内存空间的2倍,首元素内存地址在原来的内存地址,还是新的内存地址?有没有发生改变?

1.vector底层如何实现的,扩容机制是怎样的?

C++笔记之vector的底层实现和扩容机制_第1张图片

2.vector底层是std::array吗?

C++笔记之vector的底层实现和扩容机制_第2张图片

3.vector扩容是把原来的内存扩成2倍,还是分配新的内存地址然后新的内存空间是原内存空间的2倍,首元素内存地址在原来的内存地址,还是新的内存地址?有没有发生改变?

C++笔记之vector的底层实现和扩容机制_第3张图片

你可能感兴趣的:(c++,笔记,java)