- 博客(14)
- 资源 (6)
- 收藏
- 关注
转载 析构函设为虚拟的好处
类继承中构造函数和析构函数的调用现在,有三个类,类的定义如下class CA{public: CA(){cout ~CA(){cout};class CB:public CA{public: CB(){cout ~CB(){cout};class CC:public CB{public: CC(){cout ~CC(){cout};CA是爷爷,CB是爸爸,
2009-11-01 19:22:00
639
转载 UpdateData、Invalidate、InvalidateRect和UpdateWindow
在编程的时候经常把UpdateData、Invalidate、InvalidateRect和UpdateWindow四个函数混淆,在这里将简单介绍它们的区别。 UpdateData(): 当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);如果你希望知道用户在对
2009-10-27 15:36:00
552
转载 【转】windows进程中的内存结构
【转】windows进程中的内存结构 接触过编程的人都知道,高级语言都能通过变量名来访问内存中的数据。那么这些变量在内存中是如何存放的呢?程序又是如何使用这些变量的呢?下面就会对此进行深入的讨论。下文中的C语言代码如没有特别声明,默认都使用VC编译的release版。 首先,来了解一下 C 语言的变量是如何在内存分部的。C 语言有全局变量(Global)、本地变量(L
2009-10-15 11:57:00
1165
1
转载 【转】堆和栈的区别
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量
2009-10-15 11:54:00
663
1
转载 【转】C++中的四种强制类型转换的区别
使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。 1 static_cast用法:static_cast ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类
2009-10-15 10:13:00
3874
6
转载 【转】typedef详解
typedef详解(转自http://hi.baidu.com/ctrlaltz) typedef的一般形式为:typedef 类型 定义名;在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。其实,在C语言中声明变量的时候,有个存储类型指示符(storage-class-specifier),
2009-10-12 17:06:00
702
1
转载 【转】三种继承方式public、protecter、private之间的差别
差别就是访问属性上的差别呗! public是公有,所有的函数都可以访问它,权限上不受限制 protected是保护,只有成员函数和友元函数可以访问它(其实它就是专门为友元设计的) private只能是类的成员函数可以访问 在继承上,列个表吧 基类 继承方式 派生类 ---------------------------------------- public public public publi
2009-10-10 10:23:00
1081
原创 W32Dasm、IDAPro、softice、olldbg区别
W32Dasm无级版、IDAPro 为静态反汇编工具,当然也有调试功能。softice 和 olldbg 为动态调试工具。其中softice是相对比较强大的,在调试时连系统时间都可以暂停。olldbg 国内用的比较多。
2009-09-17 12:53:00
2153
原创 使用DC画笔的典型步骤
CDC* pCurDC=m_PicView.GetDC(); CPen* pOldPen=NULL; //生成并载入画笔 CPen penBound; if (RED==color) penBound.CreatePen(PS_SOLID,m_nEdgeWidth,RGB(255,0,0)
2009-09-17 12:01:00
828
原创 【转】Windows终止线程运行的四种方法
终止线程运行 若要终止线程的运行,可以使用下面的方法: • 线程函数返回(最好使用这种方法)。 • 通过调用 ExitThread 函数,线程将自行撤消(最好不要使用这种方法)。 • 同一个进程或另一个进程中的线程调用 TerminateThread 函数(应该避免使用这种方法)。 • 包含线程的进程终止运行(应该避免使用这种方法)。 下面将介绍终止线程运行的方法,并且说明线程终止运行
2009-09-14 11:34:00
1097
转载 【转】函数调用规范__cdecl和__stdcall的区别一目了然(表格形式)
__cdecl __stdcall C 和 C++ 程序的缺省调用规范 为了使用这种调用规范,需要你明确的加上 __stdcall (或 WINAPI )文字。即 return-type __stdcall function-name[(argument-list)]
2009-09-14 11:00:00
474
原创 为什么要使用多态
引入多态是为了解决一般化问题和架构的抽象。Ø 非多态的特点1) 如果你以一个「基础类别之指针」指向「衍生类别之对象」,那么经由该指针你只能够调用基础类别所定义的函数。2) 如果你以一个「衍生类别之指针」指向一个「基础类别之对象」,你必须先做明显的转型动作(explicit cast)。这种作法很危险,不符合真实生活经验,在程序设计上也会
2009-09-11 09:41:00
4450
原创 动态链接库的使用简述
Ø 隐式链接需要lib、头文件、dll文件。下述三种方法取其一:1) 在project->setting->link->object/library modules中包含lib;2) project->add to project->files 中加入lib;3) #pragma comment(lib,"MyDll.lib"),
2009-09-10 18:48:00
563
转载 【转】 C++中extern “C”含义深层探索
1.引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。2
2009-09-10 09:38:00
480
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人