摘要: 模板 模板的概念 模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。 为求两个数的最大值,定义MAX()函数,需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1... 阅读全文
posted @ 2015-06-07 21:21 蚂蚁吃大象、 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 基本使用方法 一、输入 二、复制 三、连接 四、比较 五、倒置串 六、查找串 七、替换和字串 八、修改字符串 九、获取字符串状态 十、string中的所有s1都替换成s2 阅读全文
posted @ 2015-06-07 20:31 蚂蚁吃大象、 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 一、复制构造函数的介绍 在一般的数据类型中, 我们经常会用一个变量来初始化另一个变量, 例如: int a = 10; int b = a; 使用a变量来初始化b变量, 同样, 对于类创建的对象也可以用这种方式使用一个对象去初始化另一个对象。例如还在上篇中介绍的 Po... 阅读全文
posted @ 2015-06-07 18:16 蚂蚁吃大象、 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 一、构造函数的介绍 1. 构造函数的作用 构造函数主要用来在创建对象时完成对对象属性的一些初始化等操作, 当创建对象时, 对象会自动调用它的构造函数。一般来说, 构造函数有以下三个方面的作用: ■ 给创建的对象建立一个标识符; ■ 为对象数据成员开辟内存空间; ■ 完成对象数据成员的初始化。 2. 阅读全文
posted @ 2015-06-07 18:08 蚂蚁吃大象、 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 库的分类根据链接时期的不同,库分为静态库和动态库之分。静态库:在链接阶段被链接的,生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。动态库:在程序执行的时候被链接的,即使程序编译完,库仍须保留在系统上,以供程序运行时调用。动态链接库一、隐式调用 --> 创建动态链接库#i... 阅读全文
posted @ 2015-06-07 15:53 蚂蚁吃大象、 阅读(337) 评论(0) 推荐(0) 编辑
摘要: queue单向队列 queue 模板类的定义在<queue>头文件中。与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。 定义queue 对象的示例代码: queue 的基本操作有: 使用范例: 阅读全文
posted @ 2015-06-04 21:10 蚂蚁吃大象、 阅读(267) 评论(0) 推荐(0) 编辑
摘要: stack栈 c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO),使用该容器时需要包含#include<stack>头文件; 定义stack对象示例: stack的基本操作: stack的使用范例: 阅读全文
posted @ 2015-06-04 21:04 蚂蚁吃大象、 阅读(180) 评论(0) 推荐(0) 编辑
摘要: deque简介 deque是双向开口的连续性存储空间。虽说是连续性存储空间,但这种连续性只是表面上的,实际上它的内存是动态分配的,它在堆上分配了一块一块的动态储存区,每一块动态存储去本身是连续的,deque自身的机制把这一块一块的存储区虚拟地连在一起。 它首次插入一个元素,默认会动态分配512字节空 阅读全文
posted @ 2015-06-04 20:51 蚂蚁吃大象、 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 动态规划 出处:http://hawstein.com/posts/dp-novice-to-advanced.html 什么是动态规划? 动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。使用动态规划来解题只需要多项式时间复杂度,因此它比回溯法、暴力法等 阅读全文
posted @ 2015-06-04 10:53 蚂蚁吃大象、 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 返回值分析 函数不能通过返回指向栈内存的指针,返回指向堆内存的指针是可以的。 一、返回局部变量的值 可以有两种情况:返回局部自动变量和局部静态变量,比如: int func() { int temp = 0; // 返回局部自动变量的值,没问题 return temp; } 局部变量temp存储在栈 阅读全文
posted @ 2015-06-03 14:31 蚂蚁吃大象、 阅读(430) 评论(0) 推荐(0) 编辑