- 博客(10)
- 资源 (7)
- 收藏
- 关注
转载 C++ 虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数
2015-03-03 16:09:38 262
转载 Windows 各种计时函数总结
本文对Windows平台下常用的计时函数进行总结,包括精度为秒、毫秒、微秒三种精度的5种方法。分为在标准C/C++下的二种time()及clock(),标准C/C++所以使用的time()及clock()不仅可以用在Windows系统,也可以用于Linux系统。在Windows系统下三种,使用Windows提供的API接口timeGetTime()、GetTickCount()及QueryPerf
2015-03-03 15:13:46 733
转载 vs2010 调试快捷键
vs2010 调试快捷键命令名 快捷键 说明 调试.应用代码更改Alt + F10启动生成操作,利用它可以通过“编辑并继续”功能应用对正在调试的代码所作的更改。调试.自动窗口Ctrl + D,Ctrl + A显示“自动”窗口,以查看在当前过程中,目
2015-03-02 19:57:20 427
转载 最快速度找到内存泄漏
内存管理是C++程序员的痛。我的《内存管理变革》系列就是试图讨论更为有效的内存管理方式,以杜绝(或减少)内存泄漏,减轻C++程序员的负担。由于工作忙的缘故,这个系列目前未完,暂停。 这篇短文我想换个方式,讨论一下如何以最快的速度找到内存泄漏。 1、确认是否存在内存泄漏我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如: class
2015-03-02 19:32:45 344
转载 C++中虚函数功能的实现机制
C++中虚函数功能的实现机制要理解C++中虚函数是如何工作的,需要回答四个问题。1、 什么是虚函数。虚函数由于必须是在类中声明的函数,因此又称为虚方法。所有以virtual修饰符开始的成员函数都成为虚方法。此时注意是virtual修饰的成员函数不是virtual修饰的成员函数名。例如:基类中定义: virtual vo
2015-03-02 16:45:25 381
转载 C++析构函数为什么要为虚函数
C++析构函数为什么要为虚函数注:本文内容来源于zhice163博文,感谢作者的整理。1.为什么基类的析构函数是虚函数? 在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。 下面转自网络:源地址 http://blog.sina.com.cn/s/blog_7c773cc50100y9hz.html a.第一段代码
2015-03-02 12:01:40 422
转载 c/c++:内存泄露和野指针的概念
c/c++:内存泄露和野指针的概念 内存泄漏 用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。 注意:内存泄漏是指堆内存的泄漏。 简单的说就是申请了一块内存空间,使用完毕后没有释放掉。它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。由程序申请的一
2015-03-02 11:05:47 375
转载 c/c++ 多态的概念
预备知识:c++赋值兼容原则: 一个公有派生类的对象在使用上可以被当做基类的对象,反之则禁止。 派生类的对象可以被赋值给基类对象。 派生类的对象可以初始化基类的引用(指针也一样) 多态的概念: 1:先期联编:能够在编译时就能够确定哪个重载的成员函数被调用的情况 2:后期联编(多态性):系统在运行时,能够根据其参数类型确定调用哪个重
2015-03-02 10:36:52 514
转载 C++虚基类的实现机制
在《深度探索C++对象模型》里,有一个问题,也是去公司面试的时候那些技术人员常问的问题:在C++中,obj是一个类的对象,p是指向obj的指针,该类里面有个数据成员mem,请问obj.mem和p->mem在实现和效率上有什么不同。答案是:只有一种情况下才有重大差异,该情况必须满足以下3个条件:(1)、obj 是一个虚拟继承的派生类的对象(2)、mem是从虚拟基类派生下来的成员
2015-03-02 09:33:03 4023
转载 c++ 虚函数的实现机制
1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{public: virtual void f(); virtual void g();priva
2015-03-02 09:32:11 332
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人