1 struct temp{ int __iValue; int __iKey; }; 2 temp __Stru1 = { 100,100}; 3 temp __Stru2 = { 2,-10 }; 4 temp __Stru3 = { 200,1 }; 5 ...
分类:
编程语言 时间:
2014-12-27 12:40:32
阅读次数:
150
非成员begin()和end()也许你注意到了,我在前面的例子中已经用到了非成员begin()和end()函数。他们是新加入标准库的,除了能提高了代码一致性,还有助于更多 地使用泛型编程。它们和所有的STL容器兼容。更重要的是,他们是可重载的。所以它们可以被扩展到支持任何类型。对C类型数组的重载已经...
分类:
编程语言 时间:
2014-12-27 00:10:14
阅读次数:
228
1. 写在最前面这将是博主的第一篇技术博客,思考再三决定从翻译开始。这将是一个系列的博客,由不同的章节组成,章节之间由超链接联系,开发过程将使用增量式开发,每次完成一个章节。本篇是本系列的总册,提供了所有子章节的超链接,另外所有的子章节也都将提供链接返回到本篇。2. 本系列的目录结构总册第一章 第二...
分类:
编程语言 时间:
2014-12-26 16:16:37
阅读次数:
163
输入迭代器是每个迭代位置智能被读一次的只读迭代器。输出迭代器是每个迭代位置只能被写一次的只写迭代器。输入和输出迭代器被塑造为读和写输入和输出流。前向迭代器有输入和输出迭代器的能力,但是他们可以反复读或写一个位置。它们不支持operator--,所以他们可以高效地向前移动任意次数。所有的标准STL容器都支持比前向迭代器更强大的迭代器。散列容器是前向迭代器,单链表容器也提供前向迭代器
双向迭代...
分类:
其他好文 时间:
2014-12-25 11:21:29
阅读次数:
143
总结本条款,一共有以下几点是需要牢记的:
1、要删除容器中有特定值的所有对象:
(1)、如果容器是vector、string或deque,则使用erase-remove习惯用法。
(2)、如果容器是list,则使用list::remove
(3)、如果容器是标准关联容器,则使用它的erase成员函数。
eg:
假定你有一个标注的STL容器c,它包含int类型的整数:Cont...
分类:
其他好文 时间:
2014-12-21 14:02:51
阅读次数:
184
STL容器的遍历删除 今天在对截包程序的HashTable中加入计时机制时,碰到这个问题。对hash_map中的每个项加入时间后,用查询函数遍历hash_map,以删除掉那些在表存留时间比某个阈值长的表项(当然这个函数是应该运行在另起一个线程上的),但是在按照下面的方法对hash_map...
分类:
其他好文 时间:
2014-12-12 23:32:11
阅读次数:
245
STL容器(三)——对map排序
对于map的排序问题,主要分为两部分:根据key排序;根据value排序。下面我们就分别说一下~
1. 根据key进行排序
map默认按照key进行升序排序,和输入的顺序无关。如果是int/double等数值型为key,那么就按照大小排列;如果是string类型,那么就按照字符串的字典序进行排列~(还记得之前说过的字典序吗?当时我们用到了next_permutation这个库函数!)下面我们展示一个例子,说明map中默认按照key升序排列的情...
分类:
编程语言 时间:
2014-12-12 11:51:56
阅读次数:
264
前几天处理工作方面的事情, 确实耽误了几天, 导致博客停更了, 今天上午看到算法导论的堆排序, 想用 C++ 实现下, 就当练练手了.算法导论里使用的是起始编号为 1 的容器, 那么实现的方法要不就是把 STL 容器打包, 自己建一个起始编号为 1 的容器, 要不就按照起始编号为 0 的来. 想了一...
分类:
编程语言 时间:
2014-12-07 17:48:17
阅读次数:
179
高效STL—迭代器 & 算法
每个标准STL容器提供了四种不容的迭代器:iterator、const_iterator、reverse_iterator和const_reverse_iterator。同时容器的insert和erase的某些形式只接受其中一种。
没有办法从const的迭代器转换为非const的迭代器,不能隐式转换也不能通过const_case转换。但是可以使用...
分类:
编程语言 时间:
2014-12-06 21:36:28
阅读次数:
279
转自http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/一.各种容器的特性vector典型的序列容器,C++标准严格要求次容器的实现内存必须是连续的,唯一可以和标准C兼容的stl容器,任意元素的读取、修改具有常数时间...
分类:
其他好文 时间:
2014-12-01 19:03:20
阅读次数:
230