STL技术文章不完全列表(STL学习使用指南)

转载 2006年05月30日 09:53:00

STL技术文章不完全列表(STL学习使用指南)

作者:Winter
来源: 最优秀的STL学习网站

 

在网络上,关于STL使用的有许多优秀的文档,本文收集了一些经典的中文和英文文章,包含STL中的标准容器 vector list set map deque hash_map multiset multimap hash_set string Allocate stream及算法等各个方面,并会做简短的内容介绍和评价,并增加相应的链接。以后会随时更新补充新的内容,如果有朋友发现更好的文章,请回复留言,我也会加入列表中--Winter

 

1 STL入门教程:

标准模板库(STL)介绍 ★★★★★

本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂。不失为STL的入门文章,新手不容错过。

STL实践指南 ★★★★★

文章从STL基础知识讲起,逐步深入,涉及到了STL编写代码的方法、STL代码的编译和调试、命名空间、STL中的ANSI/ISO字符串、各种不同类型的容器、模板、游标、算法、分配器、容器的嵌套等方面的问题,作者在这篇文章中对读者提出了一些建议,并指出了使用STL时应该注意的问题。

三十分钟掌握STL★★★★

有个叫karry的网友翻译的《using stl》,可以快速浏览,从0开始了解STL。值得一看。

C++ STL简介 ★★

文章从算法、容器、迭代器三方面简要介绍了STL,读者可以对STL有一简单映像。

C++ STL轻松导学 ★★★

本教程介绍有关学习C++ STL的预备知识和STL的相关背景知识,适合想对STL做大致了解的初学者。

STL学习小结 ★★

文中介绍STL基础知识,配有一个整体实例和图表说明,最后还做了简单的效率测试。

STL使用入门 ★★★

本文适合那些想立即开始使用,而不想关注太多STL琐碎细节的程序员。以list为例,讲解了在使用过程中的注意事项。

2 STL 容器:

详细解说STL string ★★★★★

Winter的详细解说STL系列之一,对string的原理和常用使用进行了详细解说,并对string在使用过程中的注意事项进行了总结。如果你希望对string有全面的了解,这篇文章是再好不过了。

深入研究 STL Deque 容器 ★★★★★

文章深入地研究了std::deque 容器。本文将讨论在一些情况下使用deque 比vector更好。读完这篇文章后读者应该能够理解在容量增长的过程中deque 与vector在内存分配和性能的不同表现。老外写文章确实比较严谨,值得一看。

STL vector 容器介绍 ★★★★★

这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。又是一篇经典。

学习STL map, STL set之数据结构基础★★★

本文列出几个基本的STL map和STL set的问题,通过解答这些问题讲解了STL关联容器内部的数据结构,最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题,并分析了map, set的优势之处。对于希望深入学习STL和希望了解STL map等关联容器底层数据结构的朋友来说,有一定的参考价值

STL中用vector 改进内存的再分配★★★

本文描述的是一种很常见的情况:当你在某个缓存中存储数据时,常常需要在运行时调整该缓存的大小,以便能容纳更多的数据。本文将讨论如何使用 STL 的 vector 进行内存的再分配。原理说的比较详细,对于初学者比较适用。

 

3 STL应用:

使用STL流(stream)来简化C++“线程安全”日志记录★★★★

流是一种强大的数据处理抽象机制,它允许你调用泛型的读/写函数,不必关心数据从什么地方来、到什么地方去。使用流,同样的代码可从控制台、文件、套接字等地方读取数据。STL通常不是线程安全的,本文提出了如何在线程安全的方式下使用流的方案。

用标准模板库STL实现文件比较★★★

本文讨论如何使用标准模板库(STL),类模板和函数模板,以及其它编程技术来解决实际问题。本文涉及到STL包含的集合和向量,函数模板,类模板,常量检验,出错处理和使用STL的文件I/O。

用STL快速编写ini配置文件识别类

ini文件是技术人员经常用到的一种系统配置方法,如何读取和快速识别ini文件中的内容实现起来比较繁琐。STL强大的功能在于能快速的实现排序、查找、 识别等功能。本文通过STL中的map,string,vector,ifstream等,来快速实现ini文件的识别类class IniFile?。IniFile可以实现常见查找功能,并提供完整的源码。

 

4 STL其他:

标准库:STL Allocator能做什么★★★★★

本文告诉你什么时候不需要Allocator,什么时候需要Allocator,如何定义Allocator。配有详细的代码说明。如果你希望对Allocator有初步认识,这篇文章会告诉你。

详细解说 STL 排序(Sort)★★★★★

STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序算法是应用最为广泛的算法之一。本文详细介绍STL 中 sort partial_sort nth_element partition 等算法的用法和区别。

Effective STL中文版 ★★★★★

分为50个条款,每个条款一个主题,详细介绍了STL容器、算法、迭代器、Allocator、应用等,通过例子,通俗易懂。但是需要读者有一定的基础知识(至少知道vector是个容器吧),由不同作者翻译,Winter也翻译了几篇。共有50篇文章,每篇文章相互独立,你想看什么自己选吧。强烈推荐。

彻底学习STL中的Allocator ★★★★

Allocator是C++语言标准库中最神秘的部分之一。它们很少被显式使用,标准也没有明确出它们应该在什么时候被使用。文章详细地介绍了STL中Allocator的用法和特点。如果你有较多的STL知识,又想更深入的了解STL Alloc,这篇文章再好不过了。

STL之父访谈录★★★★

STL之父Alexander Stepanov接收记者的采访,文章对於STL发展历史的最完备介绍, 侯捷先生在他的STL有关文章里推荐大家阅读这篇文章。原文在SGI STL上有一个版本,在portSTL上有一个版本,Winter做了简单的整理,把两个版本的英文和中文版本都做了相应的链接。还可以参卡最近的访问:[[http://stl.winterxy.com/html/000066.html][对话STL 之父Alex Stepanov]]。

STL的不同实现版本 ★★★

简要介绍了STL的几个版本,包括 HP STL, P.J.Plauger STL、 Rouge Wave STL、 STLport、 SGI STL,虽然文章比较短,如果想了解STL版本知识,还是值得一看的。

CUJ文库:STL中的Unary Predicates★★

标准运行库中的几个泛型算法在运行时使用了一元判定式(unary predicate)。例子是带if的算法,比如count_if()、find_if()、remove_if()、和replace_if(),但也有partition()这样[不带if]的算法。在本次专栏中,我们就近距离接触unary predicate,看它们可能以及绝不能做什么。(内容比较专业了,只是翻译得好像不够好)

体验Visual C++.NET 2005中的STL★★★★

本文详细讲解了STL.net的特性,其优势,并有充分的实例,值得一看。

STL学习资源列表★★★★★

本文中列举了权威的STL官方网站和STL学习网站,并提供了经典的STL教程推荐和电子书下载,不可错过。

博为峰Java技术文章 ——JavaSE Swing使用Vector方式创建列表框

博为峰小博老师: 除了使用数组来创建列表框外,还可以使用Vector数据结构来创建列表框。使用Vector方式创建列表框与使用数组的方式相似,只不过存储数据的方式不同而己。下面将通过一个实例来介绍这...
  • bwf_erg
  • bwf_erg
  • 2017年02月27日 21:55
  • 203

博为峰Java技术文章 ——JavaSE Swing使用数组和Vector创建下拉列表框

博为峰小博老师: 下拉列表框与列表框的使用方式一样,只不过下拉列表框是将列表中所有的选项隐藏在下拉框中,显示出来的是用户需要的数据。下面将通过表格的形式列出下拉列表框的构造器,如下所示。 ...
  • bwf_erg
  • bwf_erg
  • 2017年03月07日 18:35
  • 174

STL list 使用指南

众所周知,STL是有封装好的链表的而且是双端链表!~现在我们就来谈一谈list的使用首先#incldue list L;头文件外加申请一个char形式的list. 对于这个东西我们可以做什么呢?...

博为峰JavaEE技术文章 —— Hibernate 指南(4)Hbm文件

前几节已经完成了Java实体类、Hbm文件以及数据库的建立。今天小博老师带领大家学习如何使用Hibernate内置的API进行测试。 该示例中测试时基于Junit实现的。 Junit的好处是使用se...
  • bwf_erg
  • bwf_erg
  • 2017年04月24日 19:40
  • 299

博为峰JavaEE技术文章 —— Hibernate 指南(1)Hbm文件

小博老师今天结合一个实例,讲解下使用Hibernate5所需要的各种配置文件的内容。该实例需要在数据库中准备一个事件表EVENTS,所包含的字段如下: EVENT_ID:事件id,主键,int,自增...
  • bwf_erg
  • bwf_erg
  • 2017年04月13日 21:37
  • 304

MyBatis学习总结(20)——MyBatis完全使用指南

MyBatis作为一个轻量的SQL映射框架,确实很简单,但是知识点挺多,实际使用中还是会有时想不起来某个标签该怎么写,所以整理了这篇文章,以备查询。由于MyBatis如此简单,使得这一篇文章基本把实际...

JVM学习(2)——技术文章里常说的堆,栈,堆栈到底是什么,从os的角度总结

俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: 堆栈是栈JVM栈和本地方法栈划分Java中的堆,栈和c/c++中的堆,栈数据结构层面的堆,栈os层面的堆,...

学习笔记:The Log(我所读过的最好的一篇分布式技术文章)

这是一篇学习笔记。 学习的材料来自于我读过的最好的一篇分布式技术文章,没有之一。...

技术文章|大数据如何使用

对于普通人来说,大数据离我们的生活很远,但它的威力已无所不在:信用卡公司追踪客户信息,能迅速发现资金异动,并向持卡人发出警示;能源公司利用气象数据分析,可以轻松选定安装风轮机的理想地点;瑞典首都斯德哥...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STL技术文章不完全列表(STL学习使用指南)
举报原因:
原因补充:

(最多只允许输入30个字)