
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 · 598 阅读 · 0 评论 -
虚函数的工作原理
虚函数的工作原理: 编译器处理虚函数的方法:给每一个对象添加一个隐含的成员。隐含成员中保存了一个指向函数地址数组的指针。这个数组叫做 虚函数表(virtual function table) 1.假如一个类中有虚函数的话,对象的起始位就是虚函数表指针。虚表指针 2.基类 虚函数表中 存有所有虚函数的地址 3.派生类 包含有独立的虚函数表 (多继承有多个虚函数表,原创 2017-03-01 14:54:04 · 472 阅读 · 0 评论 -
二叉树
此为头文件.h: #pragma once class 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 · 274 阅读 · 0 评论 -
平衡二叉树
此为头文件.h #pragma once class 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 · 211 阅读 · 0 评论 -
内存泄漏之GDI泄露检测
对开发中常见的内存泄露,GDI泄露进行检测 一、GDI泄露检测方法: 在软件测试阶段,可以通过procexp.exe 工具,或是通过任务管理器中选择GDI对象来查看软件GDI的对象是使用情况。 注意点:Create出来的GDI对象,都要用DeleteObject来释放;Create出来的DC,都要用DeleteDC来释放,GetDC得出的DC,要用ReleaseDC来释放。 以下转载 2017-03-01 08:32:27 · 1919 阅读 · 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 · 475 阅读 · 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 · 249 阅读 · 0 评论