当前位置: 首页 > wzjs >正文

关于建设公司网站的请示wordpress建手机网站

关于建设公司网站的请示,wordpress建手机网站,聊城做wap网站价格,邢台制作在 C 的标准模板库(STL)中,std::deque(双端队列)使用一种分段连续的存储结构,通过一个中控器(通常称为中控 map)来管理多个固定大小的存储块(缓冲区)。当这个…

在 C++ 的标准模板库(STL)中,std::deque(双端队列)使用一种分段连续的存储结构,通过一个中控器(通常称为中控 map)来管理多个固定大小的存储块(缓冲区)。当这个中控 map 用完时,std::deque 会进行扩容操作,下面详细介绍其处理过程。

1. std::deque 中控 map 简介

  • 中控 map 本质上是一个动态数组,数组中的每个元素是一个指针,这些指针分别指向不同的存储块(缓冲区)。每个存储块是一段连续的内存,用于实际存储 deque 中的元素。
  • 当需要向 deque 中添加元素,而现有的存储块空间不足时,会创建新的存储块,并将其地址记录在中控 map 中。

2. 中控 map 用完后的处理步骤

步骤 1:分配更大的中控 map

当现有的中控 map 空间不足时,std::deque 会分配一个更大的中控 map。通常,新的中控 map 大小会比原来的大,一般是原来的两倍。

步骤 2:复制原中控 map 内容

将原中控 map 中的指针复制到新的中控 map 中,这些指针指向的存储块(缓冲区)保持不变。

步骤 3:释放原中控 map

释放原中控 map 所占用的内存,避免内存泄漏。

步骤 4:更新内部指针

更新 deque 内部的指针,使其指向新的中控 map

3. 示例代码及模拟解释

虽然标准库的具体实现细节因编译器而异,但可以通过一个简化的示例来模拟这个过程:

#include <iostream>
#include <deque>// 模拟 std::deque 中控 map 扩容的简化函数
template<typename T>
void simulate_deque_map_expansion(std::deque<T>& dq) {// 这里只是模拟,标准库中不会直接暴露这些细节// 假设原中控 map 用完了,需要扩容// 步骤 1: 分配更大的中控 map// 新的中控 map 大小假设为原来的两倍// 这里只是示意,实际实现更复杂size_t new_map_size = 2 * /* 原中控 map 大小 */;// 分配新的中控 map 内存(模拟)// void** new_map = new void*[new_map_size];// 步骤 2: 复制原中控 map 内容// 遍历原中控 map,将指针复制到新的中控 map 中// for (size_t i = 0; i < /* 原中控 map 大小 */; ++i) {//     new_map[i] = /* 原中控 map[i] */;// }// 步骤 3: 释放原中控 map// delete[] /* 原中控 map */;// 步骤 4: 更新内部指针// dq 内部指针指向新的中控 map(模拟)// dq.set_map(new_map);std::cout << "中控 map 已扩容" << std::endl;
}int main() {std::deque<int> dq;// 模拟添加大量元素导致中控 map 用完for (int i = 0; i < 10000; ++i) {dq.push_back(i);}// 模拟中控 map 扩容simulate_deque_map_expansion(dq);return 0;
}

4. 注意事项

  • 性能开销:中控 map 的扩容操作涉及内存分配、数据复制和释放,会带来一定的性能开销。因此,在使用 std::deque 时,如果能预估元素数量,可以提前调用 reserve 函数来预留足够的空间,减少扩容次数。
  • 迭代器和引用失效:中控 map 扩容后,deque 的迭代器和引用可能会失效,需要特别注意。

总之,当 std::deque 的中控 map 用完时,会自动进行扩容操作,以保证 deque 能够继续存储更多的元素。


文章转载自:

http://K9ZzSmTc.pqhgn.cn
http://E7CtHS5b.pqhgn.cn
http://Pin2Do4Q.pqhgn.cn
http://nC0Bgqf2.pqhgn.cn
http://qPwn2zfZ.pqhgn.cn
http://7w8QlhLi.pqhgn.cn
http://VYZYTbNx.pqhgn.cn
http://KrR7t4vJ.pqhgn.cn
http://PmPHbYMf.pqhgn.cn
http://al5uXidb.pqhgn.cn
http://dkfPnOvv.pqhgn.cn
http://ibqYeNAq.pqhgn.cn
http://Xnp85afM.pqhgn.cn
http://pqhZaYlQ.pqhgn.cn
http://H6Lh6lsI.pqhgn.cn
http://iefXjOC8.pqhgn.cn
http://c0eNstEE.pqhgn.cn
http://R1QPFTz2.pqhgn.cn
http://BT2H4Tgz.pqhgn.cn
http://HNzbaNJJ.pqhgn.cn
http://kO3fXKQ7.pqhgn.cn
http://DuZ8vXzy.pqhgn.cn
http://jBjgMnX6.pqhgn.cn
http://dgbdI3mN.pqhgn.cn
http://z7E2Gmka.pqhgn.cn
http://ev0diItq.pqhgn.cn
http://4uKabXO0.pqhgn.cn
http://osISGexq.pqhgn.cn
http://j97hpAMH.pqhgn.cn
http://ahcjlk4a.pqhgn.cn
http://www.dtcms.com/wzjs/693511.html

相关文章:

  • 昆明网站制作的方法湘潭今天刚刚发生的新闻
  • 网站只做wordpress文章列表分页代码
  • 网站设计设dedecms安装教程
  • 公司网站建设视频教程做微信视频的网站
  • 手机的网站有哪些瑞诺国际做外贸网站好吗
  • 校园网站建设开题报告网站不能正常显示出现后台代码
  • 外贸网站seo搜索引擎快速优化排名
  • 创建手机网站模版深圳网站开发学习
  • 互动网站建设多少钱重庆网站建设设计
  • 用wix做外贸网站极速微网站建设cms
  • 企业做网站设置哪些模块手工制作大全废物利用
  • 江门做网站软件网站策划 要求
  • 域名弄好了网站怎么建设品牌设计
  • 用dw做的网站容易变形长沙专业网站建设服务
  • 南京广告公司排名前十如何做好seo优化
  • 网页设计网站含义免登录直接玩的游戏
  • 网站推广的方式和方法兴义网站seo
  • 网站建设论文答辩小蚁人网站建设
  • 中学生做的网站有哪些wordpress 导航设置
  • 福田庆三眼睛案例图片seo排名优化推广
  • 盐城网站建设流程主题猫仿虎嗅wordpress
  • 驻马店网站建设公司有人免费有片视频吗
  • 制作网站报价单有关网页设计与网站建设的文章
  • 贵阳网站建设 网站制作wordpress调用当前分类名称
  • WordPress的IP统计插件做竞价的网站可以做优化吗
  • 酒店网站建设背景分析做网站的程序员
  • 用服务器做网站空间wordpress 小工具定制
  • api模式网站开发怀化 优化生育政策
  • 网站开发费用如何账务处理win10优化软件
  • 南京做网站费用wordpress4.9.8 php版本