vector增加元素时,内存变化情况以及push_back使用的是指针、引用还是拷贝
答:主要看size和capacity,如果capacity不够需要重新分配内存。(扩容大小忘了)
Push_back使用的是拷贝,类的话也是使用拷贝。
vector内存分配怎么样的
答:vector里面有size和capacity,连续分配,如果size>capacity需要重新分配内存。
vector初始大小是多少呢
其他容器的内存情况呢
答:是我提到的那些嘛(是的)。栈和队列是双端队列的容器适配器,是非连续内存存储的。哈希表(unordered_map)底层是哈希表(有点奇怪)。
关于vector简单的讲就是一个动态增长的数组,里面有一个指针指向一片连续的内存空间,当空间装不下的时候会自动申请一片更大的空间(空间配置器)将原来的数据拷贝到新的空间,然后就会释放旧的空间。当删除的时候空间并不会被释放只是清空了里面的数据。