三十分钟掌握STLSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中S...
分类:
其他好文 时间:
2014-08-04 10:52:47
阅读次数:
338
“通常情况下,你会在.h文件中声明函数和类,而将它们的定义放置在一个单独的.cpp文件中。但是在使用模板时,这种习惯性做法将变得不再有用,因为当实例化一个模板时,编译器必须看到模板确切的定义,而不仅仅是它的声明。因此,最好的办法就是将模板的声明和定义都放置在同一个.h文件中。这就是为什么所有的STL头文件都包含模板定义的原因。”[1]
"标准要求编译器在实例化模板时必须在上下文中可以查看到其...
分类:
其他好文 时间:
2014-08-02 12:50:43
阅读次数:
260
C++中堆的应用:make_heap, pop_heap, push_heap, sort_heap, priority_queue
make_heap, pop_heap, push_heap, sort_heap都是标准算法库里的模板函数,用于将存储在vector/deque 中的元素进行堆操作,对不愿自己写数据结构堆的C++选手来说,这几个算法函数很有用,下面是这几个函数操作vecto...
分类:
编程语言 时间:
2014-07-30 20:43:24
阅读次数:
360
需要的头文件 or memset函数介绍void *memset(void *s, int ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的....
分类:
其他好文 时间:
2014-07-29 10:40:56
阅读次数:
218
在C++中,一般的架构设计都是基于多态,基于接口编程。一般的是基类提供接口,子类根据具体的业务逻辑来实现接口,以此来提供程序设计的过程中的可注入性,提高灵活性,但是事实可能不经如此。引入了多态,其实也就是引入了耦合,其强制规定了继承基类和接口的形式,这在整体继承体系中都是不可以更改的。C++0x中的bind函数和function模板类为我们提供了很好的设计解决方案,提供多态基于函数对象,其只和函数的返回值和参数有关。陈硕老师称其为Object-base编程,通过对象来完成功能注入。拳拳到肉(陈老师原话)。...
分类:
其他好文 时间:
2014-07-27 23:41:15
阅读次数:
383
朴素Dijkstra不需要用到堆,每次找最小值都得遍历一遍,时间复杂度较高。
点是从编号0到编号n-1的n个点。
以下是模板:
int Dijkstra(int a,int b) //a是起点,b是终点
{
bool visited[maxn]; // 记录访问点
int pos = a, min, dist[maxn]; // pos是个标记点,标记每次最小边对应的...
分类:
其他好文 时间:
2014-07-27 11:22:42
阅读次数:
196
下载地址中文版(扫描版)请使用迅雷下载英文版(文字版)官方文档The Python Standard Library《Python标准库》一书的目录《python标准库》 译者序 序 前言 第1章 文本1 1.1 string—文本常量和模板1 1.1.1 函数1 1.1.2 模板2 1.1.3 ....
分类:
编程语言 时间:
2014-07-27 10:40:12
阅读次数:
370
1. 函数模板
函数模板是一个独立于类型的函数,可作为一种方式,产生函数的特定类型版本。
// implement strcmp-like generic compare function
// returns 0 if thevalues are equal, 1 if v1 is larger, -1 if v1 is smaller
template typename...
分类:
编程语言 时间:
2014-07-23 21:00:05
阅读次数:
279
在本系列文章的第一篇《Android多线程分析之一:使用Thread异步下载图像》中,曾演示了如何使用 Thread 来完成异步任务。Android 为了简化在 UI 线程中完成异步任务(毕竟 UI 线程是 app 最重要的线程),实现了一个名为 AysncTask 的模板类。使用 AysncTask 能够在异步任务进行的同时,将任务进度状态反馈给 UI 线程(如让 UI 线程更新进度条)。正是由于它与 UI 线程紧密相关,使用的时候要就有一些限制,AysncTask 必须在 UI 线程中创建,并在 UI ...
分类:
移动开发 时间:
2014-07-19 18:16:19
阅读次数:
265
在本系列文章的第一篇《Android多线程分析之一:使用Thread异步下载图像》中,曾演示了如何使用 Thread 来完成异步任务。Android 为了简化在 UI 线程中完成异步任务(毕竟 UI 线程是 app 最重要的线程),实现了一个名为 AysncTask 的模板类。使用 AysncTas...
分类:
移动开发 时间:
2014-07-19 16:01:27
阅读次数:
229