我的电脑内存是8G我使用C++的vector数组vector内已经使用了6G的数据我再通过push_back往vector后添加数据时vector还会二倍增长吗?
在C++的标准库中,vector的内部实现通常是通过动态数组实现的,具有自动增长的功能。当你使用push_back()函数往vector中添加数据时,如果当前容量不足以存储新的数据,vector会分配一个更大的内存空间,并将原来的数据复制到新的内存空间中。通常情况下,vector的容量会以2的指数倍增长。
然而,由于你的电脑内存只有8G,而已经使用了6G的数据,当你再次调用push_back()函数添加数据时,vector可能会因为内存不足而无法继续增长。这种情况下,你可能需要考虑其他的数据结构或者优化你的代码逻辑,以避免内存溢出的问题。
原文地址: https://www.cveoy.top/t/topic/hOoB 著作权归作者所有。请勿转载和采集!