自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MyDriverC

广博,创新

  • 博客(19)
  • 收藏
  • 关注

转载 C++ 运算符优先级列表

http://www.cppreference.com/operator_precedence.htmlPrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access

2013-10-30 13:55:52 445

转载 c++实现多态的方法

http://blog.chinaunix.net/uid-7396260-id-2056657.html1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{pub

2013-10-29 17:00:05 702

转载 [C++] 如何不用虚函数实现多态

#include "stdafx.h"typedef void (*fVoid)();class A{public:        static void test()        {                printf("hello A\n");        }        fVoid print;        A() 

2013-10-29 16:53:55 1367

转载 C++虚函数表解析(转) ——写的真不错

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过

2013-10-29 16:51:49 503

转载 Boost.Bind和Boost.Function的一种搭配使用法

http://blog.sina.com.cn/s/blog_4b3dfc920100kfdp.html昨天在CSDN上看到一篇文章,说是用Boost.Bind和Boost.Function可以完全取代继承,大致浏览了一下觉得还是很有意思的,于是自己动手试了一下~不过由于没有仔细研读文章,所以不知道自己的设想是否跟作者的意思一致,呵呵~   举个在演示多态时被用过很多遍的例子:

2013-10-22 18:10:19 673

转载 Boost库

目 录1简介2分类2.1 字符串和文本处理库2.2 容器库2.3 迭代器库2.4 算法库2.5 函数对象和高阶编程库2.6 泛型编程库2.7 模板元编程2.8 预处理元编程库2.9 并发编程库2.10 数学和数字库1简介Boost库是为

2013-10-22 18:04:22 731

转载 以boost::function和boost:bind取代虚函数

http://www.zzzj.com/html/20081013/66602.html这是一篇比较情绪化的blog,中心思想是“继承就像一条贼船,上去就下不来了”,而借助boost::function和boost::bind,大多数情况下,你都不用上贼船。 boost::function和boost::bind已经纳入了std::tr1,这或许是C++0x最值得期待的功能

2013-10-22 17:44:17 421

转载 利用C++模板,代替虚函数,实现类的静态多态性(加入性能测试部分)

http://blog.csdn.net/gong_xucheng/article/details/5790634  熟悉模板编程的朋友或许听到过这个技巧或者模式:Barton-Nackmann 技巧或者称 奇异循环模板模式(Curiously Recurring Template Prattern)。     其实在 《c++ 编程语言》这本bible 书里,在模板那章提到过

2013-10-18 17:51:21 610

转载 MFC的消息映射机制的理解

一、映射机制原理Windows程序是基于消息机制来编程的。MFC消息映射机制的具体实现方法是:在每个能接收和处理消息的类中,定义一个消息和消息函数静态对照表,即消息映射表。在消息映射表中,消息与对应的消息处理函数指针是成对出现的,也就是他们是绑定在一起的。某个类能处理的所有消息及其对应的消息处理函数的地址都列在这个类所对应的静态对照表中。当有消息需要处理时,程序只要搜索该消息静态表

2013-10-18 17:37:35 806

转载 C++ list 成员函数

Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.STL中 end()指向的总是无效值,取值都用迭代器,用法跟指针差不多。assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 empty

2013-10-17 13:53:55 2043

转载 父类指针如何访问子类数据成员变量

1 首先说明一点 你这样做也不是基类指针访问继承类的成员 仍然是被强制转化为继承类之后才去访问 这样做是不安全的做法 可以考虑使用dynamic_cast进行安全的类型向下转换 甚至可以考虑使用RTTI2 其实最好的方法是使用虚函数 这点可以在程序设计的时候考虑进去1.虚函数2.dynamic_cast3.强转不要这么做,会访问错误的,如果要强访问的话

2013-10-17 11:21:32 4484

转载 C++中的运行中动态类型识别RTTI

C++中的运行中动态类型识别RTTIRTTI综述      C++中的2个运算符支持RTTI,即Run Time Type Identification:typeid和dynamic_cast。      RTTI实现的基石是每个类型对应的一个const type_info类型对象,它存储了这个对象的确切类型信息。注意,一个类型对应一个type_info对象,而不是一个对象。无论是

2013-10-17 08:45:34 1122

转载 ultraedit,文件视图中的ftp帐号管理器不见了,怎么办

高级 -> 配置 ->FTP 勾选“在浏览器视图里显示FTP账户”http://zhidao.baidu.com/link?url=nEkXWQswRnwelMHzD0RRpQvqB1ddNtsXh97Rb1EFXXvN3MWh7O4btLObjQJp0FnUTCwyn9DK5o1dUV4YyLNEba

2013-10-16 11:02:48 3763

转载 函数指针的强制类型转换

指针应该都是4个字节,指向32位的地址.可以寻访4GB的内存.如果是64位就再说.所以对函数指针来说这个应该就有了很大的好处.因为指针大家都是4个字节不论是什么种类的函数,它肯定都是4字节.这样赋值就没问题.在这里你也可以将指针直接看成是一个整数.这样会更明白些.而对于另外一个问题.函数参数和返回值,则完全由函数的定义来决定.嗯.这样就可以有很大的自由空间.来段代码. 1#includei

2013-10-16 10:51:00 1054

转载 要使用不同的参数的函数的函数指针

http://support.microsoft.com/viewkb/viewkb.aspx?contentid=70142The sample code below illustrates how to use function pointers to call functions that take different parameters than those with whi

2013-10-16 10:44:05 1272

翻译 C++强制转换不同声明或类型的函数指针隐患

之前碰到一个问题,没有注意看函数指针的定义。造成一个错误,写到这里给自己一个提醒。也给大家看看我这个不小心的人犯的错误。嘿嘿!先看段测试代码:void test( int param ){     int ret = 0;     for ( int i = 0; i      {      ret += i;    

2013-10-16 10:41:56 1031

转载 visio中插入顶边大括号

问题:用的是visio2010版本,需要在visio中画出顶边大括号,但是找了半天只找到了侧边大括号。解决办法:1. 添加侧边大括号;形状 ---> 更多形状 ---> 其他visio方案 ---> 标注;找到“侧边大括号”,添加到工作区;2. 调整方向;选中该“侧边大括号”,开始 ---> 排列 ---> 位置 ---> 方

2013-10-12 18:41:58 3320

转载 迭代器中的second()

c++ 里面的map容器的迭代器里面 有个first 和 second例如map m;m["one"] = 1;map::iterator p = m.begin();p->first; // 这个是 string 值是 "one"p->second; //这个是 int 值是 1

2013-10-12 18:18:37 5789 1

转载 C++中的虚函数和纯虚函数用法

使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。 如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类去实现的话,可以把此函数(方法)设为virtual 函数名=0 我们把这样的函数(方法)称为纯虚函数。也就是说,虚函数 ,子类可以不重写,直接继承父类 的方法来使用,也可以重写但是 纯虚函数是子类是必须重写了才可以使用虚函数是为了实现多态性:

2013-10-10 17:52:52 1619

空空如也

空空如也

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

TA关注的人

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