
C++ STL
C++ STL
哈士奇超帅
我变秃了 也变强了
展开
-
C++ STL 基础及应用(3) 迭代器
迭代器(Iterator)是 STL 的核心技术,提供了统一访问容器元素的方法,为编写通用算法提供了坚实的技术基础。本章将带你编写一个自带迭代器的数组类和一个自带迭代器的链表类,模拟 STL 中的容器,这两个实例能够很清晰地展示 STL 的迭代器思想。并探讨迭代器类应该作为容器类的内部类的原因,然后对 STL 迭代器做一下归纳理解,最后阐述一下 STL 中真正的迭代器概况。原创 2016-05-24 23:59:57 · 7484 阅读 · 2 评论 -
C++ STL 基础及应用(4) 输出输出流
在 C++ 的标准模板库中提供了一组模板类来支持面向对象的数据的输入输出功能,如基本的输入输出流 istream类/ostream类,文件输入输出流 ifstream类/ofstream类/fstream类,字符串输入输出流 stringstream类/istringstream类/ostringstream类等。C++ I/O 还可以对对象进行输入输出操作,这些都是 C 所不具备的。本章将介绍标准输入输出流、文件输入输出流和字符串输入输出流的相关使用。原创 2016-06-01 16:25:16 · 6272 阅读 · 0 评论 -
C++ STL 基础及应用(5) 字符串
本章将介绍 STL 中字符串相关的操作,包括插入、替换、删除、比较、查询。STL string 类提供了强大的功能,使得许多繁琐的编程内容用简单的语句即可完成。string 字符串类减少了 C/C++ 编程中三种最常见并且造成严重后果的错误:1.数组越界。 2.通过未被初始化或者被赋值错误的指针来访问数组元素。 3.以及在释放了某一数组原先所分配的存储单元后仍保留的"悬挂"指针。使用 STL string 类时需要头文件 <string>。原创 2016-06-03 12:38:15 · 1234 阅读 · 0 评论 -
C++ STL 基础及应用(2) 模板与操作符重载
模板是 C++ 语言中重要的概念。它提供了一种通用的方法来开发重用的代码,即以创建参数化的 C++ 类型。本章将阐述一些具体的 STL 模板思想,并简单介绍操作符重载与模板的联系。文中将给出一个简易的类似 vector 的数组类。原创 2016-05-22 17:13:08 · 4507 阅读 · 2 评论 -
C++ STL 基础及应用(0) 目录
标准模板库(C++ STL)学习笔记,学习STL基础及应用。该系列为 STL 学习笔记,帮助自己加深记忆与理解,也帮助读者们从头开始完整细致的学习 STL ,希望能一起进步。本章为目录章节,介绍下以后的各章节将要讲什么内容。最后附上 Alexander Stepanov 的照片,神之微笑。原创 2016-05-20 23:11:02 · 1744 阅读 · 0 评论 -
C++ STL 基础及应用(8) 算法
本章将罗列一下 STL 中常用的算法,包括非变异算法:循环、查询、计数、比较等功能。变异算法:复制、交换、变换、替换、填充、生成、删除、唯一、反转、环移、随机、划分等功能,排序及相关算法,由于大部分算法在前面的章节中已有示例,而且这些算法使用比较简单,而且使用的形式比较类似,如果读者阅读了我之前的几篇博客,那么已经能够使用下面的算法了,这里就都不做具体介绍了,对算法使用有困惑的童鞋请参考文章底部链接。(使用数值算法需要头文件 <numeric> 使用其他算法需要头文件 <algorithm>)原创 2016-06-09 22:27:13 · 1357 阅读 · 0 评论 -
C++ STL 基础及应用(1) STL历史、组成和使用方法
本章节主要介绍 STL 的历史和 STL 的基本组成内容,以及使用方法。原创 2016-05-20 23:55:06 · 2158 阅读 · 0 评论 -
C++ STL 基础及应用(7) 函数对象(仿函数)
把函数作为对象是程序设计的新思维。STL 通过重载类中的 operator() 函数实现函数对象功能,不但可以对容器中的数据进行各种各样的操作,而且能够维护自己的状态。因此,与标准 C 库函数相比,函数对象更为通用。本章将介绍函数指针的使用、函数对象的定义、引入目的、使用方法,C++98 标准和C++11标准下 STL 内置函数对象的详细介绍、适配器类的使用。包括 bind1st bind2nd not1 not2 mem_fun mem_fun_ref ptr_fun bind ref cref 的使用。原创 2016-06-08 14:39:18 · 3591 阅读 · 0 评论 -
C++ STL 基础及应用(6) 容器
读者可能有这样的经历,自己编写了动态数组类、链表类、集合类和映射类等程序,然后小心地维护着。其实 STL 提供了专家级的几乎我们所需要的各种容器,功能更好,效率更高,复用性更强,所以开发应用系统应该首选 STL 容器类,摒弃自己的容器类,尽管它可能花费了你很多的开发时间。本章将介绍 STL 中的通用容器,包括 vector、deque、list、queue和stack、priority_queue、bitset、set和multiset、map和multimap等等。原创 2016-06-05 23:04:47 · 3755 阅读 · 2 评论