C/C++
capnik
在编程世界中没有什么用分层解决不了的~~~
展开
-
关于指针字符串和数组字符串的一些经验
一、我们由一个引用交换字符串函数开场:void Swap(char* &str1, char* &str2){ char *temp; temp = str1; str1 = str2; str2 = temp;}int main(){ char ap[] = "hello"; char bp[] = "how are you";原创 2016-09-08 17:59:56 · 568 阅读 · 0 评论 -
虚函数的工作原理
虚函数的工作原理: 编译器处理虚函数的方法:给每一个对象添加一个隐含的成员。隐含成员中保存了一个指向函数地址数组的指针。这个数组叫做 虚函数表(virtual function table)1.假如一个类中有虚函数的话,对象的起始位就是虚函数表指针。虚表指针2.基类 虚函数表中 存有所有虚函数的地址3.派生类 包含有独立的虚函数表 (多继承有多个虚函数表,原创 2017-03-01 14:54:04 · 449 阅读 · 0 评论 -
二叉树
此为头文件.h:#pragma onceclass CMyAVL{public: typedef struct _NODE { int nData; _NODE* pLeft; _NODE* pRight; }NODE, *PNODE;public: CMyAVL(); virtual ~CMyAVL(); bool Insert(int nEle);// 插原创 2017-03-01 16:04:16 · 252 阅读 · 0 评论 -
平衡二叉树
此为头文件.h#pragma onceclass CAVLTree{public: typedef struct _NODE { int nData; _NODE* pLeft; _NODE* pRight; }NODE, *PNODE;public: CAVLTree(); virtual ~CAVLTree(); bool Insert(int nEle);原创 2017-03-01 18:40:25 · 189 阅读 · 0 评论 -
内存泄漏之GDI泄露检测
对开发中常见的内存泄露,GDI泄露进行检测一、GDI泄露检测方法:在软件测试阶段,可以通过procexp.exe 工具,或是通过任务管理器中选择GDI对象来查看软件GDI的对象是使用情况。注意点:Create出来的GDI对象,都要用DeleteObject来释放;Create出来的DC,都要用DeleteDC来释放,GetDC得出的DC,要用ReleaseDC来释放。 以下转载 2017-03-01 08:32:27 · 1859 阅读 · 2 评论 -
C++构造函数详解
1.构造函数(无参构造,主要用于初始化成员):class CGouzao1{public:CGouzao1(){m_nNum=0; }private:int m_nNum;};2.构造函数(有参构造,函数体内初始化)class CGouzao2{public:CGouzao2(int x){m_原创 2017-02-27 13:45:20 · 434 阅读 · 0 评论 -
函数调用约定
函数调用约定 常见的函数调用约定[5]:cdecl,stdcall,fastcall,thiscall,naked call MFC调用约定(VS6:Project Settings->C/C++ Calling convention:) 1, __cdecl(C调用约定.The C default calling convention)C/C++ 缺省调用方式 1转载 2017-02-27 15:46:09 · 230 阅读 · 0 评论