摘要:
概述 统一建模语言(UML)是一种图形化的语言,用于软件密集系统要素的可视化、制定规范、构建对象和编写文档。UML提供了一种标准的方式来描述系统的设计图,既包括概念方面,例如业务过程和系统功能,也包括具体事务,如编程语言语句,数据库图示和可重用的软件组件。 这里着重指出的是UML是一种说明性的“语言”,而不是一种方法或程序。UML通常用来定义软件系统与细化、编写、构造系统中的要素,是“写”设计... 阅读全文
摘要:
类模板就是为类声明一种模板,使得类中的某些数据成员,或某些成员函数的参数,又或者是某些成员函数的返回值可以取任意的数据类型,包括基本数据类型和自定义数据类型。 类模板的声明形式如下: template 类声明 模板参数表中可以以下两种模板参数: 1.class 标识符(指明可以接受一个类型参数,就是说这是个不固定的类型,用它生成类时才会产生真正的类型... 阅读全文
摘要:
拷贝构造函数是一种特殊的构造函数,因为它也是用来构造对象的。它具有构造函数的所有特性。拷贝构造函数的作用是用一个已经存在的对象去初始化另一个对象,这两个对象的类类型应该是一样的。定义拷贝构造函数的形式是: class 类名 { public : 类名(形参); //构造函数... 阅读全文
摘要:
正数的原码、反码和补码是一模一样的。 负数的反码的符号位跟原码一样,但其余各位取反。 负数的补码是其反码的最末位加1得到,即原码取反加1. 补码的补码就是原码。 浮点数的存储格式随着机器的不同而不同: 单精度32bits: 双精度64bits: 阅读全文
摘要:
MFC定时器实现方法 方法一:CWnd类提供的成员函数SetTimer实现定时器功能,只能在CWnd类或其派生类中调用。 方法二:Windows API函数SetTimer来实现。 MFC定时器 启动定时器 启动定时器就需要使用CWnd类的成员函数SetTimer。CWnd::SetTimer的原型如下: UINT_PTR SetTimer( ... 阅读全文
摘要:
CString CStringT 操作可变长度字符串的模板类CStringT有三个实例:CString、CStringA和CStringW,它们分别提供对TCHAR、char和wchar_t字符类型的字符串的操作。 char类型定义的是Ansi字符,wchar_t类型定义的是Unicode字符,而TCHAR取决于MFC工程的属性对话框中的Configuration Properties->G... 阅读全文
摘要:
linux中的经典宏定义 offsetof 定义:offsetof在linux内核的include/linux/stddef.h中定义。 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)说明:获得结构体(TYPE)的变量成员(MEMBER)在此结构体中的偏移量。(01) ( (TYPE *)0 ) 将零转型为T... 阅读全文
摘要:
//rbtree.h /* Red Black Trees (C) 1999 Andrea Arcangeli This program is free software; you can redistribute it and/or modify it under the terms of the GNU General ... 阅读全文
摘要:
红黑树概念 特殊的二叉查找树,每个节点上都有存储位表示节点的颜色是红(Red)或黑(Black)。时间复杂度是O(lgn),效率高。 特性: (1)每个节点或者是黑色,或者是红色。 (2)根节点是黑色。 (3)每个叶子节点(NIL)是黑色。(只为空(NIL或null)的节点) (4)如果一个节点是红色的,则它的子节点必须是黑色的。(黑结点可连续,红结点不能连续) (5)从一个节点到该... 阅读全文
摘要:
伸展树概念 伸展树(Splay Tree)是一种二叉排序树,它能在O(log n)内完成插入、查找和删除操作。它由Daniel Sleator和Robert Tarjan创造。 (01) 伸展树属于二叉查找树,即它具有和二叉查找树一样的性质:假设x为树中的任意一个结点,x节点包含关键字key,节点x的key值记为key[x]。如果y是x的左子树中的一个结点,则key[y] = key[x... 阅读全文