一、string类 1、构造函数 string实际上是basic_string的一个typedef,同时省略了与内存管理相关的参数。size_type是一个依赖于实现的整型,是在string中定义的。string类将string::npos定义为字符串的最大长度,通常为unsigned int的.....
分类:
编程语言 时间:
2015-08-21 20:58:35
阅读次数:
214
一. vector介绍:
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
二. 使用介绍:
1. 为了可以使用vector,必须在你的头文件中包含下面的代码:
#...
分类:
其他好文 时间:
2015-08-21 11:25:00
阅读次数:
181
一、标准模板库(STL)(p.s. STL中的常用实用工具auto_ptrstringpair)1.定义了一系列的容器模板(类模板),实现泛型化的数据结构。1)向量(vector, 这里说的"向量"就是数组), 向量内存连续,支持下标访问和随机迭代,只有在尾部进行插入和删除效率才比较高。2)列表(l...
分类:
编程语言 时间:
2015-08-21 07:01:59
阅读次数:
184
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件...
分类:
编程语言 时间:
2015-08-15 19:57:02
阅读次数:
172
参考《21天学通C++》第25、第26、第28章节,对STL位标志、智能指针与C++异常处理进行介绍。
一、使用STL位标志
位是存储设置与标志的高效方法。标准模板库提供了可帮助组织与操作位信息的类。
1. bitset类
std::bitset不是STL容器类,因为它不能调整长度,这是一个实用类,针对处理长度在编译阶段已知的位序列进行了优化。需包含#include 。
2. 实例化bi...
分类:
编程语言 时间:
2015-08-09 18:49:13
阅读次数:
149
C++标准模板库提供了一个辅助函数 - std::thread::hardware_concurrency(),通过这个函数,我们可以获取应用程序可以真正并发执行的线程数量。下面这个例子,实现了一个并发版本的std::accumulate,它将工作拆分到多个线程中,为了避免过多线程带来的开销,程序指定了每个线程处理数据的最小数量。
头文件和求和操作:
#include
#include
#...
分类:
编程语言 时间:
2015-08-08 12:08:20
阅读次数:
128
参考《21天学通C++》第23与第24章节,对STL算法与自适应容器进行介绍。
实际上在前面的STL顺序容器、关联容器进行介绍时或多或少引用到了一些STL算法中的模板函数。而自适应容器是在顺序容器的基础上按照stack、queue的性质进行定制实现的。所以,本篇博文将言简意赅地总结出需要掌握的纲要。
一、STL算法
查找、搜索、删除、计数、排序等都是一些通用算法,STL通过模板函数提供了这些...
分类:
编程语言 时间:
2015-08-06 15:11:40
阅读次数:
186
C++ Multimaps和maps很相似,但是MultiMaps允许重复的元素。(具体用法请参考map容器)
函数列表:
begin() 返回指向第一个元素的迭代器
clear() 删除所有元素
count() 返回一个元素出现的次数
empty() 如果multimap为空则返回真
end() 返回一个指向multimap末尾的迭代器
equal_range() 返回指...
分类:
编程语言 时间:
2015-08-04 11:14:20
阅读次数:
131
一、STL集合类
标准模板库向程序员提供了一些容器类,以便在应用程序中频繁而快速的搜索。std::set和std::multiset用于存储一组经过排序的元素,其查找元素的复杂度为对数,而unordered集合的插入和查找时间是固定的。
容器set和multiset快速查找键,键是存储在一维容器中的值,multiset可存储重复的键值,而set不行。STL容器是泛型模板类,可用于存储字符串、整...
分类:
编程语言 时间:
2015-08-02 16:49:00
阅读次数:
143
参考《21天学通C++》第15和16章节,在对宏和模板学习之后,开启对C++实现的标准模板类STL进行简介,同时介绍简单的string类。虽然前面对于vector、deque、list等进行过学习和总结,但并没有一个宏观上的把握,现在通过上一篇和这一篇博文,将对C++模板以及基于C++模板的STL关联起来,形成一个总体的把握,对于掌握C++中模板(template)这一强有力的工具会十分有帮助。本...
分类:
编程语言 时间:
2015-07-31 16:20:42
阅读次数:
135