suncode

  博客园 :: 首页 :: 新随笔 :: :: :: 管理 ::

2011年3月3日

摘要: 1、栈区(stack) 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放4、文字常量区常量字符串就是放在这里的。程序结束后由系统释放。5、程序代码区存放函数体的二进制代码。 阅读全文
posted @ 2011-03-03 21:37 suncode 阅读(250) 评论(0) 推荐(0)

摘要: 剪贴板定义剪贴板是由操作系统维护的一块内存区域,这块内存区域不属于任何单独的进程,但是每一个进程又都可以访问这块内存区域,而实质上当在一个进程中复制数据时,就是将数据放到该内存区域中,而当在另一个进程中粘贴数据时,则是从该块内存区域中取出数据。相关API剪贴板的打开 – OpenClipboardBOOL OpenClipboard(HWNDhWndNewOwner);hWndNewOwner指向一个与之关联的窗口句柄,即代表是这个窗口打开剪贴板,如果这个参数设置为NULL的话,则以当前的任务或者说是进程来打开剪贴板。如果打开剪贴板成功,则该函数返回非0值,如果其他程序已经打开了剪贴板,那么当 阅读全文
posted @ 2011-03-03 20:36 suncode 阅读(879) 评论(0) 推荐(0)

摘要: 简单理解Windows的消息消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。消息一般用一个32位的数来标识,这个数唯一地标识这个消息。这些消息的标识符一般在头文件winuser.h 中定义,如: #define WM_PAINT 0x000F #define WM_QUIT 0x0012 其实消息本身是一个MSG结构。MSG结构定义如下:typedef struct tagMSG{ HWND hwnd; //接受消息的窗口句柄 UINT message; //消息标识符 WPARAM wParam; //32位附加信息 LPARAM lParam; //32位附加信息 D 阅读全文
posted @ 2011-03-03 20:06 suncode 阅读(2002) 评论(0) 推荐(2)

摘要: D7, classes tstrings 没有strictdelimiter属性,在string转tstrings时,不能分别字符串带空格的情况,View Code function StrToStrs(s:string,cp:chr, rs_s:^TStrings);Var T : integer;begin T := 1; While True do begin if PosEx(cp,s,T) = 0 then begin rs_s.Add(Midstr(s,T,Length(s)-T+1)); Break; end; rs_s.Add(Midstr(s,T,(PosEx(cp,s,T) 阅读全文
posted @ 2011-03-03 16:56 suncode 阅读(2061) 评论(0) 推荐(0)

2011年2月23日

摘要: unit uModuleFrame;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type TModuleFrame = class(TFrame)public constructor Create(AOwner: TComponent); virtual; function BeforeLoad: boolean; virtual; abstract; function BeforeShow: boolean; virtual; abstract; function 阅读全文
posted @ 2011-02-23 16:59 suncode 阅读(1178) 评论(0) 推荐(1)

2011年2月22日

摘要: #include <string>basic_string<>定义为所有字符串型别的基本模板类别STL 提供两个basic_string<>的特化版本:(1) string : typedef basic_string<char> string;(2)wstring : typedef basic_string<wchar_t> wstring; 宽字符集 如Unicode或某些亚洲字符集;1 构造函数析构函数 string s string s(str) string s(str, strindex) string s(str, s 阅读全文
posted @ 2011-02-22 21:46 suncode 阅读(169) 评论(0) 推荐(0)

摘要: 1 key/value 必需具备assignable 可赋值 copyable 可复制 key被视为常数,元素实质型别pair<const key, T>, 不可调用变动性算法,如remove(),remove()实质上是以一个参数覆盖被移除的元素 map移除操作只能使用map提供的成员函数2 对排序准则 key 必需是comparable 可比较3 构造/析构函数 map c; 空map map c(op); (op排序准则) map c1(c2); c2副本 map c(begin, end) map c(begin, end, op) c.~map();4 排序准则定义 (1 阅读全文
posted @ 2011-02-22 21:45 suncode 阅读(1222) 评论(0) 推荐(0)

摘要: 有了继承,指向基类类型的指针或引用就可以被用来指向派生类类型的对象。然后就可以编写程序来操纵这些指针或引用而不用考虑它们所指向的对象的实际类型。用一个基类指针或引用来操纵多个派生类型的能力被称为多态性。在C++中,多态性分为两种,一种称为编译时多态,另一种为运行时多态1.编译时多态,也就是函数重载,所谓函数重载是指同一个函数名可以对应着多个函数的实现,具体调用哪个按照由参数个数,参数类型等来决定,这个简单,就不说了2.运行时多态,就是虚函数。 在定义了虚函数后,可以在基类的派生类中对虚函数重新定义,以实现你所想要的功能。 阅读全文
posted @ 2011-02-22 21:34 suncode 阅读(139) 评论(0) 推荐(0)