- 博客(15)
- 收藏
- 关注
原创 设计模式系列--抽象工厂模式
如图,FactoryA专心负责生产ProductA,FactoryB专心负责生产ProductB,FactoryA和FactoryB之间没有关系;如果到了后期,如果需要生产ProductC时,我们则可以创建一个FactoryC工厂类,该类专心负责生产ProductC类产品。由于FactoryA、FactoryB和FactoryC之间没有关系,当加入FactoryC加入时,对FactoryA和Fac
2015-09-01 21:33:03 464
转载 设计模式系列--策略模式
Strategy为接口(在C++中为抽象类),各种Concrete Strategy实现它定义的接口。 Context使用Strategy,它不知道具体完成任务的是哪一个具体的策略。只要接口不变,如果策略变了,只需要改某一个具体的策略。如果要加新的策略,需要实现Strategy定义的接口,Context并不需要知情。Context持有一个strategy指针(引用),传入具体的Concreates
2015-09-01 20:57:52 411
原创 设计模式系列--备忘录模式
Originator:负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。Originator可根据需要决定Memento存储Originator的哪些内部状态。Memento:负责存储Originator对象的内部状态,并可防止Originator以外的其他对象访问备忘录Memento。备忘录有两个接口,Caretaker只能看到备忘录的窄接口,它
2015-09-01 20:46:17 443
转载 Multiset(中)——STL中的multiset
Multiset的中文名是多重集合,其实就是集合的扩展版。唯一的不同是集合中一个值只能出现一次,而多重集合中一个值可以出现多次。 粗略看了看MSDN,在STL中,multiset和set的成员函数声明也是基本一样的,一些需要注意的地方是:set::insert(key)的返回值是一个pair,其中pair中的bool成员表明了key被插入之前,set中是否已存在相同
2015-08-27 13:20:05 601
转载 Pair
pair的类型: pair 是 一种模版类型。每个pair 可以存储两个值。这两种值无限制。也可以将自己写的struct的对象放进去。。 pair p; pair p; pair p; 都可以。。。 应用:如果一个函数有两个返回值 的话,如果是相同类型,就可以用数组返回,如果是不同类型,就可以自己写个struct
2015-08-27 12:52:52 401
转载 deque与vector的主要区别
deque与vector的主要区别deque与vector非常相似。它也采用动态数组管理元素,提供随机存取,有着和vector几乎一样的接口。不同的是deque的动态数组头尾都开放,因此能在头尾两端进行快速安插和删除。deque通常实作为一组独立区块,第一区块朝某方向扩展,最后一个区块朝另一个方向扩展。deque与vector的主要不
2015-08-26 18:37:28 806
原创 std::find, std::find_if, std::find_if_not
一: find searches for an element equal to valuetemplateclass InputIt, class T>InputIt find(InputIt first, InputIt last, const T& value){ for (; first != last; ++first) { if (*first == v
2015-08-24 00:32:33 592
转载 例子需要包含头文件 #include <vector>
bind1st和bind2nd函数用于将一个二元算子(binary functor,bf)转换成一元算子(unary functor,uf)。为了达到这个目的,它们需要两个参数:要转换的bf和一个值(v)。 可能这么解释以后大家还不是很清楚,那么就说点白话吧。我们在做比较的时候所写的表达式像 x > k ,x x,k int a[] =
2015-08-24 00:05:17 1195
转载 C++规定有四个运算符 =, ->, [], ()不可以是全局域中的重载(即不能重载为友员函数)理解。
以下是对C++中不能重载为友元函数的四个运算符进行了详细的分析介绍,需要的朋友可以过来参考下 C++规定有四个运算符 =, ->, [], ()不可以是全局域中的重载(即不能重载为友员函数),这是为什么呢?现在先说说赋值运算符“=”的重载C++规定赋值运算符“=”只能重载为类的非静态成员函数,而不可以重载为类的友元函数。不能重载为类的静态成员应该比较容易理解,因为静态成
2015-08-15 09:49:07 3939 2
原创 Linux添加磁盘,不关机识别!
1.查看系统磁盘情况: lsblk2.查看SCSI情况:cat /proc/scsi/scsi3.执行扫描: echo "- - -" > /sys/class/scsi_host/host2/scan4.再次查看系统磁盘情况: lsblk
2015-04-12 19:45:32 1028
转载 让 win32 程序也可以从 console 输出信息
今天同事在调试一个 win32 程序的时候,希望从 console 输出一些调试信息。他威胁说,否则,就要动用邪恶的 MessageBox 了。我们以前的库倒是提供了一个 console 模块,可以从 win32 程序中创建出一个 console 。然后把标准输入输出定向到上面。这并不麻烦,就算不用翻出以前的代码重用一下,查下 MSDN 自己写上几句也可以解决。今天突然想到,其实还
2014-12-12 14:25:42 772
转载 Emmet 生成 HTML 的语法
HTML 文档的初始结构,就是包括 doctype、html、head、body 以及 meta 等内容。你只需要输入一个 “!” 就可以生成一个 HTML5 的标准文档初始结构,你没有看错,输入一个感叹号(当然是英文符号),然后摁下 TAB 键,就会发现生成了下面的结构: Document这就是一个 HTML5 的标准结构,也是默
2014-07-18 10:24:07 493
原创 access 通配符
使用“查找和替换”对话框查找并有选择地替换 Access 数据库或 Access 项目中的数据时,应使用此通配符集。对 Access 数据库运行选择和更新查询时,也可以使用这些字符,但是不能在对 Access 项目运行的查询中使用它们。有关使用选择和更新查询的详细信息,请参阅文章创建简单的选择查询和更新数据库中的数据。字符说明示例*匹配任意数量的
2014-07-13 00:14:17 2412
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人