C++
gufeng99
这个作者很懒,什么都没留下…
展开
-
C++浅析——继承类中构造和析构顺序
先看测试代码,CTEST 继承自CBase,并包含一个CMember成员对象:static int nIndex = 1;class CMember{public: CMember() { printf("%d CMember construct\n", nIndex++); }原创 2015-05-16 00:19:54 · 497 阅读 · 0 评论 -
C++浅析——虚函数的动态和静态绑定
源自一道面试题,觉得很有意思class CBase{public: virtual void PrintData(int nData = 111);};void CBase::PrintData(int nData /* = 111 */){ printf("CBase::PrintData, nData = %d\n",原创 2015-05-16 00:22:34 · 664 阅读 · 0 评论 -
智能指针介绍
智能指针是为了解决程序员创建了资源而忘记释放造成内存泄漏的问题,可减少代码编写过程中的代码长度,减少程序员对资源管理的难度,因而在COM组件及各类插件中有广泛应用。1、智能指针的原理 智能指针的原理是利用对象在离开作用域时会调用对象的析构函数,将资源指针封装进类中,并将资源指针的释放过程写入析构函数中,这样就能在对象释放时自动释放资源。一个管理注册表句柄的智能指针示例如下:原创 2015-05-15 23:56:14 · 594 阅读 · 0 评论 -
C++浅析——继承类内存分布和虚析构函数
继承类研究1、 Code1.1 Cbase, CTEST为基类,CTest2为其继承类,并重新申明了基类中的同名变量class CBase{public: int Data; CBase(); ~CBase();};class CTEST{ //Data:private:原创 2015-05-16 00:44:51 · 693 阅读 · 0 评论 -
C++浅析——返回对象的函数
一、原码分析1.1 测试代码 为了方便查看拷贝构造函数调用过程,自定义了拷贝构造函数,但啥也没干。class CTEST{public: int m_nData; //Method:public: CTEST() { printf("0x%p CT原创 2015-05-16 00:32:33 · 653 阅读 · 0 评论 -
VS2010最常用快捷键
1、选择类F8当前位置变成选定区域的头/尾(再移动光标或者点鼠标就会选定)Ctrl + F8当前行变成选定区域的头/尾(再移动上下光标或者点鼠标就会选定多行)CTRL + W选择当前单词Ctrl + Shift + ←选定当前位置到前一个单词Ctrl + Shift + →选定当前位置到后一个单词Shift原创 2015-05-18 14:52:39 · 514 阅读 · 0 评论 -
C++浅析——虚表和虚表Hook
1、虚表位于何处?2、同一个类对象的虚表位置相同吗?3、虚表需要在加载后进行初始化吗?4、多父类继承的虚表如何存放?5、何为虚表Hook?原创 2015-08-08 09:40:35 · 4500 阅读 · 0 评论