新闻详情

新闻详情

首页 / 资讯中心 / 详情

queue stack

发布时间:2026/8/31 4:58:21来源:尧图网络
queue stack
之前我们这样模拟栈一、了解适配器迭代器也是一种设计模式以下是库中栈和对列栈性质是某容器支持在容器一端栈顶插入删除数据就可以所以用vectorT和listT容器实现封装成栈都行我们用vector封装模拟实现栈但就定死了只能是vectorT我们还想换listT即传不同的容器由此诞生 Container容器适配器。Container就是容器适配器意思是可以传任意的容器类型所以我们如下图这样用容器适配器模拟栈(库内的栈和我们模拟实现的方式大体一样)因为Container传的是标准库内的模板vectorT或listT所以对象_con可以用标准库内对应模板的所有相关内容成员函数等等模拟实现栈时直接调能用的相关内容即可二、栈模拟实现因为栈和队列的模拟都是模拟实现模板所以只有两个文件一个.cpp 一个.h不用写栈的构造函数 将容器尾部当作栈顶 直接调能用的相关内容_con.back源于取首尾函数三、模拟完成后栈的使用给模板形参传的是类型给函数形参传的是值、对象这里我们给class Container的默认适配是vectorTdequeT稍后讲模拟完成后栈的使用如下下、下下下图。1. .h文件没有包任何头文件为什么vectorT能用程序能正常运行编译器编译时第一步会进行预处理将.h中的代码在.c或.cpp文件中黏贴过去不会实例化只做语法基础检查会自动向上寻找展开内容所需类型或变量默认不会到std里找不会向下寻找。因为在.cpp文件中包含了.h需要用到的所有头文件所以虽然模拟实现栈的.h中无头文件但是在.cpp中展开后向上寻找后依然能找到所需的vector头文件。2. 但是如果是下图代码仍然通过为什么因为VS 的iostream内部间接包含了vector。预处理展开#includeiostream的时候顺带把 vector 的声明带进编译环境等后面处理Stack.hvector名字已经可见。但这不是标准行为g 下这样写直接报错GCC 版本的iostream不会间接包含 vector。若VS 升级、STL 内部改动代码可能随时失效。3.当.h文件中有直接使用cout cin如下左图像如下右图包含.h文件时会报错。在.c中包含头文件.h的那句代码要写在using namespace std后面因为黏贴过来后向上寻找虽然.cpp包了iostream但是没有using namespace std无法直接使用cout cin仍然报错。综上要包含的.h文件的代码写在包含头文件和using namespace std这两者的代码后面3.按需实例化调用实例化哪些比如成员函数就仔细检查哪些当我们函数内错接口时如果不调用对应函数就不会报错。一旦调用如下图就报错。编译器对不调用的内容只会检查基本框架语法。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

CLI-Anything 完整指南:为软件生成 AI 代理可用 CLI 2026/8/31 8:28:40

CLI-Anything 完整指南:为软件生成 AI 代理可用 CLI

CLI-Anything 完整指南:为软件生成 AI 代理可用 CLI 【免费下载链接】CLI-Anything "CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/ 项目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anything 你让…

阅读更多 →
AI产品经理核心能力解析:从概率思维到模型生命周期管理 2026/8/31 8:28:40

AI产品经理核心能力解析:从概率思维到模型生命周期管理

最近和不少做传统产品经理的朋友聊天,发现大家对“AI产品经理”这个岗位既好奇又困惑。好奇在于,AI浪潮下,这个岗位似乎代表着未来和“钱景”;困惑在于,它和传统产品经理到底有什么区别?是不是会写Prompt、…

阅读更多 →
Aider 终端 AI 结对编程上手指南:3 分钟装好,连上任意 LLM 改代码 2026/8/31 8:28:40

Aider 终端 AI 结对编程上手指南:3 分钟装好,连上任意 LLM 改代码

Aider 终端 AI 结对编程上手指南:3 分钟装好,连上任意 LLM 改代码 【免费下载链接】aider aider is AI pair programming in your terminal 项目地址: https://gitcode.com/GitHub_Trending/ai/aider 你在 IDE 里塞满 AI 插件后,有没有…

阅读更多 →
Fooocus:一条提示词就能出图的本地 SDXL 文生图工具,第一次就能跑起来 2026/8/31 8:28:40

Fooocus:一条提示词就能出图的本地 SDXL 文生图工具,第一次就能跑起来

Fooocus:一条提示词就能出图的本地 SDXL 文生图工具,第一次就能跑起来 【免费下载链接】Fooocus Focus on prompting and generating 项目地址: https://gitcode.com/GitHub_Trending/fo/Fooocus Fooocus 是一款完全离线运行的本地文生图软件&…

阅读更多 →
工程车辆目标检测数据集实战:VOC格式搅拌车数据集全流程解析 2026/8/31 8:28:40

工程车辆目标检测数据集实战:VOC格式搅拌车数据集全流程解析

简介:本资源为面向计算机视觉初学者与工程实践者的Pascal VOC格式目标检测数据集,聚焦工程车辆细分场景中的搅拌车识别任务,适用于模型训练、算法验证及课程实验等需求。压缩包共2337个文件,含1168张高质量JPG图像与严格对齐的116…

阅读更多 →
思源笔记如何快速完成 Word 导入与导出(docx 互操作指南) 2026/8/31 8:23:39

思源笔记如何快速完成 Word 导入与导出(docx 互操作指南)

思源笔记如何快速完成 Word 导入与导出(docx 互操作指南) 【免费下载链接】siyuan An open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间,让人与…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞