当前位置: 首页> 教育> 高考 > 邢台网站优化建设_免费软件下载网站app_b站广告投放平台入口_邯郸seo

邢台网站优化建设_免费软件下载网站app_b站广告投放平台入口_邯郸seo

时间:2025/7/16 23:13:55来源:https://blog.csdn.net/weixin_42130300/article/details/144169489 浏览次数:0次
邢台网站优化建设_免费软件下载网站app_b站广告投放平台入口_邯郸seo

在C++中,vectorlist是两种不同的序列容器。vector底层是连续的内存,而list是非连续的,分散存储的。因此,vector占用的空间更多,因为它需要为存储的元素分配连续的内存空间。

具体占用多少空间,取决于它们分别存储了多少元素,以及每个元素的大小。在空容器的情况下,vector可能只需要存储一些小的控制信息,而list则需要至少存储一个节点的信息(包括一个指针指向下一个节点)。随着元素数量的增加,vectorlist的差距会更加明显,因为vector需要连续的内存空间,可能还需要重分配更多的内存来满足增长需求,而list只需要在列表中增加新的节点即可。

总的来说,由于vector的连续内存存储特性,在大多数情况下,相同大小的元素,vector占用的空间会更多

测试:

#include <iostream>
#include <set>
#include <vector>
#include <list>int main()
{std::vector<int> test_vec;std::list<int> test_list;// 同样插入100个元素for (int i = 0; i < 100; i++){test_vec.push_back(i);test_list.push_back(i);}std::cout << "Vector size: " << sizeof(test_vec) << std::endl;std::cout << "List size: " << sizeof(test_list) << std::endl;std::cout << "Finished!\n";return 0;
}

运行结果:

同样插入100个元素,vector的占用确实高于list。

关键字:邢台网站优化建设_免费软件下载网站app_b站广告投放平台入口_邯郸seo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: