C++标准程序库学习笔记
摘要:1、辅助性“比较操作符” 有四个template functions,分别定义了!=, >, <=, >=四个比较操作符,它们都是利用==, <来完成的,定义于<utility> 2、用swap提高效率 std::swap(x,y)3、通过explicit,可以禁止单参数构造函数被用于自动型别转换4、数值极限 numeric_limits5、cstddef定义...
阅读全文
posted @
2010-03-27 08:22
Chopper
阅读(440)
推荐(0)
使用STL仿函数和判断式来降低复杂性并改善可读[转]
摘要:标准模板库(STL)包含C++程序员不可或缺的许多东西。它还有力证明了C++的概念化编程能力。STL的概念包括容器(container)、范围(range)、算法(algorithm)以及仿函数(functor)。本文着重讲解仿函数,它本质上是一个类,但通过重载operator(),所以行为与函数相似。这个概念在STL之前便已存在,STL只是从另一个角度来看待它。继续阅读本文,你就能体会到个中三味...
阅读全文
posted @
2010-03-26 14:35
Chopper
阅读(1168)
推荐(0)
C++中内存泄漏的检测[转]
摘要:C++中内存泄漏的检测 首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控,分如下两种情况:一. 在 MFC 中检测内存泄漏假如是用MFC的程序的话,很简单。默认的就有内存泄露检测的功...
阅读全文
posted @
2010-03-26 13:36
Chopper
阅读(262)
推荐(0)
Test Driving Expression Template Programming[转]
摘要:by Kent Lai It's 2 a.m. in the office. All your co-workers had left 8 hours ago, and are currently tucked in their beds, soundly asleep. The only sound that can be heard is your typing, as well as the...
阅读全文
posted @
2010-03-25 22:16
Chopper
阅读(465)
推荐(0)
运算符重载
摘要:定义格式 返回类型 operator运算符(形式参数表) { 函数体 } 参数个数的限定 非成员函数: 单目运算符:参数表中只有一个参数; 双目运算符:参数表中只有两个参数 成员函数: 单目运算符:参数表中没有参数; 双目运算符:参数表中只有一个参数 不能重载的运算符 1、不能重载的运算符有: ::, ., .*, ?: 2、必须重载为成员函数的运算符: [], ()...
阅读全文
posted @
2010-03-25 21:37
Chopper
阅读(15779)
推荐(6)
grep 总结
摘要:Grep 以行为单位搜索那些包含给出模板列表的输入文件。当在一行中找到匹配,默认把该行拷贝到标准输出(默认),或者其他你以选项要求的任何种类的输出。(global search regular expression(RE) and print out theline,全面搜索正则表达式并把行打印出来)格式:grep [选项]... PATTERN [FILE]...Grep命令行-?同时显示匹配...
阅读全文
posted @
2010-03-24 12:57
Chopper
阅读(5976)
推荐(0)
CPPUNIT基本原理【转载】
摘要:一、CPPUNIT概念 CPPUNIT是一个测试驱动开发的测试框架。所谓测试驱动开发(TDD)是一种可以在开发过程中控制忧虑感的开发方法,它坚持以测试作为开发过程的中心,在开发前根据对将要开发的程序的要求,先写好所有测试代码,并且在开发过程中不断地通过运行测试代码来获得所开发的代码与所要求的结果之间的差距。CPPUNIT是XUNIT的一部分,它是由JUNIT演变过来的,专门针对C/C++的单元测...
阅读全文
posted @
2010-03-21 22:26
Chopper
阅读(841)
推荐(0)
设计模式 -- Facade
摘要:Facade模式 Facade模式要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行。Facade模式提供一个高层次的接口,使得子系统更易于使用。 就如同医院的接待员一样,Facade模式的Facade类将客户端与子系统的内部复杂性分隔开,使得客户端只需要与Facade对象打交道,而不需要与子系统内部的很多对象打交道。观察者模式的结构Facade的几个要点 从客户程序的...
阅读全文
posted @
2010-03-21 19:19
Chopper
阅读(28720)
推荐(15)
设计模式 -- Observer
摘要:观察者(Observer)模式 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 一个软件系...
阅读全文
posted @
2010-03-21 08:24
Chopper
阅读(893)
推荐(0)
设计模式 -- Command
摘要:本文是多篇文章的整理命令模式意图: GOF 在《设计模式》一书中阐述其意图:“将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。”这里所谓的“不同的请求”也既意味着请求可能发生的变化,是一个可能扩展的功能点。命令模式UML图: Command模式将一个请求封装为一个...
阅读全文
posted @
2010-03-21 08:13
Chopper
阅读(656)
推荐(0)
设计模式 -- Composite
摘要:设计模式 -- Composite作用: 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 UML结构图: 抽象基类: 1)Component:为组合中的对象声明接口,声明了类共有接口的缺省行为(如这里的Add,Remove,GetChild函数),声明一个接口函数可以访问Component的子组件。 接...
阅读全文
posted @
2010-03-21 07:38
Chopper
阅读(382)
推荐(0)
关于文章的说明
摘要:前两年一直做嵌入式软件的开发,现在又要转到应用软件的开发,近期开始学习、整理以前保存的资料,发现很多资料没有条理性,打算放到博客上,一可以长期保存,二可以条理清晰。 所有资料来源于网络,如果有版权问题,请立刻和我联系,我会及时处理,谢谢!
阅读全文
posted @
2010-03-21 07:30
Chopper
阅读(197)
推荐(0)