【Qt之·STL(标准模板库)】

系列文章目录



前言

  STL(Standard Template Library)是一种C++标准库,它提供了一系列高效的数据结构和算法,使程序员能够更轻松地编写高质量的代码。STL的诞生是为了提高C++程序的可重用性和可维护性,它已经成为了现代C++程序设计的重要组成部分。

  本博客主要介绍STL的概念、设计理念、常用数据结构和算法,并提供一些实际案例和代码示例,帮助程序员更好地理解和运用STL。此外,本博客也会探讨一些STL中容易被忽视的细节和技巧,为读者提供更深入的学习和实践指导。

  作为一名C++程序员,在掌握STL的同时,还需要不断提高自己的编程能力和思维模式,学会灵活应用STL的各种特性,打造高效、易于维护的程序。本博客旨在为读者提供这样的帮助和支持,希望能够对读者的学习和实践有所启发和帮助。


一、容器嵌套的使用

1.嵌套容器的声明

示例:

 QMap<QVector<quint8> *,QPair<QString,QString> *> MData;

2.嵌套容器的遍历

示例:

 for(QMap<QVector<quint8> *,QPair<QString,QString> *>::iterator it = MData.begin();\
        it != MData.end();it++)
    {
        qDebug() << *(it).key();
        qDebug() << (*(it).value()).first;
        qDebug() << (*(it).value()).second;
    }

二、


总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
标准c大全:C++标准介绍 疯狂代码 http://CrazyCoder.cn/ ĵ:http:/CrazyCoder.cn/VC/Article12860.html   标准中提供了C基本设施虽然C标准随着C标准折腾了许多年直到标准出台才正式定型但是在标准实 现上却很令人欣慰得看到多种实现并且已被实战证明为有工业级别强度佳作 1、Dinkumware C Library 参考站点:http://www.dinkumware.com/ P.J. Plauger编写高品质标准P.J. Plauger博士是Dr. Dobb\'s设计杰出奖获得者其编写长期被Microsoft采 用并且最近Borland也取得了其OEMlicense在其C/C产品中采用Dinkumware 2、RogueWave Standard C Library 参考站点:http://www.roguewave.com/ 这个在Borland C Builder早期版本中曾经被采用后来被其他给替换了笔者不推荐使用 3、SGI STL 参考站点:http://www.roguewave.com/ SGI公司C标准模版 4、STLport 参考站点:http://www.stlport.org/ SGI STL跨平台可移植版本 C各大有名介绍——准标准Boost   Boost是个经过千锤百炼、可移植、提供源代码C作为标准后备是C标准化进程发动机的 Boost由 C标准委员会工作组成员发起在C社区中影响甚大其成员已近2000人 Boost为我们带来了最新、最酷、最 实用技术是不折不扣“准”标准 Boost中比较有名气有这么几个: Regex 正则表达式 Spirit LL parser framework用C代码直接表达EBNF Graph 图组件和算法 Lambda 在地方定义短小匿名对象很实用functional功能 concept check 检查泛型编程中concept Mpl 用模板实现元编程框架 Thread 可移植C多线程 Python 把C类和映射到Python的中 Pool 内存池管理 smart_ptr 5个智能指针学习智能指针必读份不错参考是来自CUJ文章: Smart Poers in Boost,哦这篇文章可以查到CUJ是提供在线浏览中文版见笔者在Dr.Dobb\'s Journal软件 Software研发杂志第7辑上译文   Boost总体来说是实用价值很高质量很高并且由于其对跨平台强调对标准C强调是编写平台无关现代C开 发者必备工具但是Boost中也有很多是实验性质东西在实际开发中实用需要谨慎并且很多Boost中功能堪称对 语言功能扩展其构造用尽精巧手法不要贸然花费时间研读Boost另外面比如Graph这样则是具有工业强度结构 良好非常值得研读精品代码并且也可以放心在产品代码中多多利用 参考站点:http://www.boost.org C各大有名介绍——GUI   在众多C中GUI部分算是比较繁荣也比较引人注目在实际开发中GUI选择也是非常重要件事情下面我 们综述下可选择GUI各自特点以及相关工具支持 1、MFC   大名鼎鼎微软基础类(Microsoft Foundation Class)大凡学过VC人都应该知道这个虽然从技术角度讲 MFC是不大漂亮但是它构建于Windows API 的上能够使员工作更容易,编程效率高减少了大量在建立 Windows 时必须编写代码同时它还提供了所有般 C 编程优点例如继承和封装MFC 编写在各个版本 Windows操作系统上是可移植例如在Windows 3.1下编写代码可以很容易地移植到 Windows NT 或 Windows 95 上但是在最近发展以及官方支持上日渐势微[Page] 2、QT 参考网站WebSite:http://www.trolltech.com   Qt是Trolltech公司个多平台C图形用户界面应用框架它提供给应用开发者建立艺术级图形用户界面所需所 用功能Qt是完全面向对象很容易扩展并且允许真正地组件编程自从1996年早些时候Qt进入商业领域它已经成 为全世界范围内数千种成功应用基础Qt也是流行Linux桌面环境KDE 基础同时它还支持Windows、Macosh、 Unix/X11等多种平台 3、WxWindows 参考网站WebSite:http://www.wxwindows.org   跨平台GUI其类层次极像MFC所以有文章介绍从MFC到WxWindows代码移植以实现跨平台功能通过多 年开发也是个日趋完善GUI支持同样不弱于前面两个并且是完全开放源代码新近C Builder XGUI设计器就 是基于这个 4、Fox 参考网站WebSite:http://www.fox-toolkit.org/   开放源代码GUI作者从自己亲身开发经验中得出了个理想GUI应该是什么样子感受出发从而开始了对 这个开发有兴趣可以尝试下 5、WTL   基于ATL个使用了大量ATL轻量级手法模板等技术在代码尺寸以及速度优化方面做得非常到位主要面向 使用群体是开发COM轻量级供网络下载可视化Control控件开发者 6、GTK 参考网站WebSite:http://gtkmm.sourceforge.net/   GTK是个大名鼎鼎C开源GUI在Linux世界中有Gnome这样杀手应用而Qt就是这个C封装版本 C各大有名介绍——网络通信 1、ACE 参考网站WebSite:http://www.cs.wustl.edu/~schmidt/ACE.html   C代表超重量级网络通信开发框架ACE自适配通信环境(Adaptive Communication Environment)是可 以自由使用、开放源代码面向对象框架在其中实现了许多用于并发通信软件Software核心模式ACE提供了组丰 富可复用C包装外观(Wrapper Facade)和框架组件可跨越多种平台完成通用通信软件Software任务其中包括:事 件多路分离和事件处理器分派、信号处理、服务化、进程间通信、共享内存管理、消息路由、分布式服务动态 (重)配置、并发执行和同步等等 2、StreamModule 参考网站WebSite:http://www.omnarious.org/StrMod   设计用于简化编写分布式尝试着使得编写处理异步行为更容易而不是用同步外壳包起异步本质 3、SimpleSocket 参考网站WebSite:http://home.hetnet.nl/~lcbokkers/simsock.htm   这个类让编写基于客户/服务器更加容易 4、A Stream Socket API for C 参考网站WebSite:http://www.pcs.cnu.edu/~dgame/s/sC/s.html   又个对Socket封装 C各大有名介绍——XML 1、Xerces 参考网站WebSite:http://xml.apache.org/xerces-c/   Xerces-C 是个非常健壮XML解析器它提供了验证以及SAX和DOM APIXML验证在文档类型定义 (Document Type DefinitionDTD)方面有很好支持并且在2001年12月增加了支持W3C XMLSchema 基本完整 开放标准 2、XMLBooster[Page] 参考网站WebSite:http://www.xmlbooster.com/   这个通过产生特制parser办法极大提高了XML解析速度并且能够产生相应GUI来修改这个parser在 DOM和SAX两大主流XML解析办法的外提供了另外个可行解决方案 3、Pull Parser 参考网站WebSite:http://www.extreme.indiana.edu/xgws/xsoap/xpp   这个采用pull思路方法parser在每个SAXparser底层都有个pullparser这个xpp把这层暴露出来直接给大 家使用在要充分考虑速度时候值得尝试 4、Xalan 参考网站WebSite:http://xml.apache.org/xalan-c/   Xalan是个用于把XML文档转换为HTML纯文本或者其他XML类型文档XSLT处理器 5、CMarkup 参考网站WebSite:http://www.firstobject.com/xml.htm   这是种使用EDOMXML解析器在很多思路上面非常灵活实用值得大家在DOM和SAX的外寻求点灵感 6、libxml http://libxmlplusplus.sourceforge.net/   libxml是对著名libxml XML解析器C封装版本 C各大有名介绍——科学计算 1、Blitz 参考网站WebSite:http://www.oonumerics.org/blitz   Blitz 是个高效率数值计算它设计目是希望建立套既具像C 样方便同时又比Fortran速度更快数值计算环 境通常用C所写出数值比 Fortran慢20%左右因此Blitz正是要改掉这个缺点思路方法是利用Ctemplate技术执行 甚至可以比Fortran更快   Blitz目前仍在发展中对于常见SVDFFTsQMRES等常见线性代数思路方法并不提供不过使用者可以很容易 地利用Blitz所提供来构建 2、POOMA 参考网站WebSite:http://www.codesourcery.com/pooma/pooma   POOMA是个免费高性能C用于处理并行式科学计算POOMA面向对象设计方便了快速开发对并行机器 进行了优化以达到最高效率方便在工业和研究环境中使用 3、MTL 参考网站WebSite:http://www.osl.iu.edu/research/mtl   Matrix Template Library(MTL)是个高性能泛型组件提供了各种格式矩阵大量线性代数方面功能在某些 应用使用高性能编译器情况下比如Intel编译器从产生汇编代码可以看出其和手写几乎没有两样效能 4、CGAL 参考网站WebSite:www.cgal.org   Computational Geometry Algorithms Library目是把在计算几何方面大部分重要解决方案和思路方法以 C形式提供给工业和学术界用户 2009-2-12 3:54:40 疯狂代码 http://CrazyCoder.cn/
### 回答1: 《STL开发技术导引》是一本介绍C++标准STL的书籍。作者叶至军通过实际例子和详细的解释,帮助读者理解和使用STL。 这本书由6个章节组成,分别介绍了STL的各个部分,包括序列容器、关联容器、迭代器、算法、函数对象和仿函数、空间分配器等。每个章节都包括许多例子和练习题,帮助读者掌握STL的知识和技能。 叶至军在书中详细讲解了STL的设计思想和内部实现原理,使读者能深入了解STL的工作原理和性能优化技巧。同时,作者还介绍了一些STL的扩展和应用,如STL的多线程编程、内存池管理等,这些内容可以帮助读者在实际工程开发中更好地使用STL。 除了STL的基础内容外,作者还介绍了一些STL和其他C++的结合使用,如BoostQt等,帮助读者深入了解C++开发的整体技术架构。 总之,《STL开发技术导引》是一本非常实用的C++技术书籍,适合C++开发者、算法研究员和高级程序员阅读和学习。它不仅能够帮助读者掌握STL的使用技能,而且还能够帮助读者提高C++编程水平,更好地应对实际开发需求。 ### 回答2: 《STL开发技术导引》是一本介绍STL(Standard Template Library)的技术书籍,作者为叶至军。STLC++标准的一部分,是一套可复用、高效、通用的模板类和函数的集合,包括容器(如vector、list、set、map等)、算法(如sort、find、transform等)和迭代器(如input iterator、output iterator等)等。本书包含了STL的一些高级应用和实践技巧,适合有一定编程基础的读者阅读。 本书主要分为以下几个部分: 第一部分是STL基础介绍,包括STL的起源和发展、STL的设计思路、STL中的常用容器和算法等。 第二部分是STL高级应用,包括STL的实现和优化、STL的内存管理、STL和多线程、STL和跨平台等。 第三部分是STL的实践技巧,包括STL的调试、STL的异常处理、STL的拓展等。 本书还提供了书签功能,方便读者快速浏览和回顾重要内容。同时,本书也提供了大量实例和演示程序,帮助读者更深入地理解和应用STL。 总的来说,本书是一本不错的STL技术书籍,适合想要深入学习和应用STL的程序员阅读。 ### 回答3: 《STL开发技术导引》是一本介绍STL编程技巧和实现原理的优秀参考书。本书由叶至军所著,全书分5个部分19章节,深入剖析了STL各个组件的实现原理和使用方法。 第一部分是STL初探,讲述了容器、迭代器和算法这三个重要的部分。第二部分是STL的实现原理,详细介绍了迭代器设计、容器设计和算法设计的实现过程。第三部分是STL的应用技巧,通过具体的场景示例,深入浅出地阐述了STL的使用方法。第四部分是STL扩展,介绍了扩展STL的方法和技巧。第五部分是STL的未来,讨论了C++17的新特性和STL未来发展方向。 书籍结构清晰,内容详实,适合初学者和有一定经验的开发者阅读。在阅读过程中,可以按照书签分类阅读,极大地提高了学习效率。总之,如果想深入学习STL编程技巧和实现原理,读这本书必将受益匪浅。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值