自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jack Zhou的专栏

一切都将灰飞烟灭,我们要做的就是尽情燃烧!

  • 博客(9)
  • 资源 (12)
  • 收藏
  • 关注

原创 我的C++实践(6):模板与继承相结合的威力

    模板表示类的集合,让模板继承一个类与面向对象编程中的继承并没有本质的差别。但是在模板中使用继承有一些特别的地方,比如基类可以依赖于模板参数(例如继承B,这称为依赖型基类)、甚至模板参数直接可以作为基类,这些所谓的参数化继承,再结合多重继承等C++中特有的继承机制,我们可以发挥模板和继承各自的优势,产生出很多的有趣的技术。    1、命名模板参数。C++中当多个模板参数有缺省实参时,

2009-08-31 15:56:00 3320 1

原创 参加CSDN上海英雄会的感受

    这是我第一次参加CSDN的软件技术英雄会(8月29日),感受颇多。现场人还是蛮多的,也非常热闹。参加大会的既有业界资深的架构师、项目经理和CTO,也有新兴的创业者。我就自己的感受,对各位高手的演讲作一下点评吧,有班门弄斧之嫌,不管了。    (1)CSDN蒋总的致辞。还不错,对业界趋势的把握还是比较到位的,不愧是我们的蒋老大啊!对几个成功案例的讲解我映像比较深。在IT同行的交流中,我最

2009-08-31 14:35:00 2234 2

原创 我的C++实践(5):类型萃取技术

   C++模板中的类型参数T是抽象的,我们并不能在模板内部直接获得它的具体特征。类型萃取(抽取)技术就是要抽取类型的一些具体特征(trait),比如它是哪种具体类型,它是引用类型,内建类型,还是类类型等。可见,类型萃取技术其实就是trait模板技术的具体体现。获取类型的具体特征在Java、C#等语言中也称为反射(reflection),C++中通过模板技术也可以实现一定的反射行为。   类型

2009-08-26 19:27:00 5830

原创 我的C++实践(4):trait与policy模板技术

    我们知道,类有属性(即数据)和操作两个方面。同样模板也有自己的属性(特别是模板参数类型的一些具体特征,即trait)和算法策略(policy,即模板内部的操作逻辑)。模板是对有共性的各种类型进行参数化后的一种通用代码,但不同的具体类型又可能会有一些差异,比如不同的类型可能会有自己的不同特征和算法实现策略。trait模板和policy模板技术就是把模板的trait和policy这两个针对不同

2009-08-26 13:57:00 5134

原创 我的C++实践(3):用多态机制来做设计

    多态polymorphism是指具有多种形态的情况,它能根据单一的标记关联不同的行为。多态是面向对象程序设计的基础。在面向对象程序设计中的多态是一种运行时的多态。C++中有两种多态,称为动多态(运行时多态)和静多态(编译时多态),而静多态主要通过模板来实现,宏也是实现静多态的一种途径。其实在做软件设计时静多态的威力也是非常强大的,只不过我们经常对它疏忽了而已。    动多态的设计思想:

2009-08-23 20:01:00 1883 1

原创 我的C++实践(2):模板代码的测试

     C++中的模板产生类代码的过程非常复杂,而模板所表示的泛型代码还要依赖于使用模板的客户端。比如模板本身的位置、使用模板的位置、定义模板实参的位置等都会对模板的实例化产生影响。因此,模板代码的测试和调试都比较难。跟踪程序(tracer)就是一种可以跟踪模板实际调用步骤的程序,它通常是一个用户自定义的类,只定义了满足模板测试的一些功能。类的每个操作中都有一个针对该操作的跟踪(比如递增一个计数

2009-08-21 14:17:00 1980 1

原创 我的C++实践(1):Stack的实现

   (1)基本的Stack:以std::deque为内部容器。方法有入栈、出栈、返回栈顶元、判断栈空。//stack1.h:栈的基本实现#ifndef __STACK1_H__#define __STACK1_H__#include #include templateclass Stack{private: std::deque elems; //包含元素的容

2009-08-17 20:07:00 3346 2

原创 使用qmake工具构建QT应用程序

    moc命令:用于处理含Q_OBJECT语句(即用到时了信号和槽)的QT类定义头文件(或源文件),以产生出包含QT元对象代码的标准头文件,这样经过处理后的头文件才能在源文件中使用。注意若用qmake工具来构建QT程序,可以设置规则来自动运行moc,无需我们直接运行moc来处理头文件    qmake是一个跨平台的程序,使用qmake来构建QT应用程序的步骤:    qmake -pr

2009-08-12 21:26:00 4450

原创 RPM软件包的制作

    RPM软件包的制作要用到Tarballs源代码包。先回顾一下Tarballs软件包的制作方法:    tar cvf:打成.tar包(可再用gzip压缩成.tar.gz包)。    tar xvf:从.tar包中解包(对.tar.gz包可先用gunzip或gzip -d解压)。    注意:对于.tar.bz2型的包,使用bzip2(-d),bunzip2。    tar

2009-08-12 20:35:00 1686

Effective C++中文版(第三版)

这个不用说了,大家都知道,C++程序员的圣经!世界上只有两类C++程序员,一类是读过这本书的,一类是没读过这本书的(表面上看好像废话,看书就知道了)。

2009-07-03

C++程序设计语言(特别版).part2

Bjarne Stroustrup的书,C++语言最经典的一本,这是中文版。文件比较大,分2部分,这是第2部分。

2009-06-28

C++程序设计语言(特别版).part1

Bjarne Stroustrup的书,C++语言最经典的一本,这是中文版。文件比较大,分2部分,这是第1部分。

2009-06-28

EJB3.0实例教程

EJB3.0入门经典教程:理论和实例结合在一起讲解,通俗易懂,涵盖了EJB3.0开发的各个方面, 是一本不可多得的EJB3.0教程。

2007-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除