- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 异常规格
异常规格是一个引人注目的特性。它使得代码更容易理解,因为它明确地描述了一个函数可以抛出什么样的异常。但是它不只是一个有趣的注释。编译器在编译时有时能够检测到异常规格的不一致。而且如果一个函数抛出一个不在异常规格范围里的异常,系统在运行时能够检测出这个错误,然后一个特殊函数unexpected将被自动地调用。异常规格既可以做为一个指导性文档同时也是异常使用的强制约束机制,它好像有着很诱人的外表。
2009-04-02 11:23:00 720
转载 VC6常用的快捷键
F1 显示帮助,如果光标停在代码的某个字符上,显示MSDN中相应的帮助内容 F2 书签功能: Ctrl+F2 --在某行设置一个书签(再按一次次是取消) F2 --跳到下一个书签位置 Shift+F2 --跳到上一个书签位置 Ctrl+Shift+F2 --删除所有书签 F
2009-01-07 16:39:00 868
转载 VC6常用插件
1.Visual Assist(强烈推荐) http://www.wholetomato.com/ VA从5.0一直到现在的VAX,功能越来越强大,除了以前版本中的自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误等等以外,最新的版本中还在WorkSpace窗口中加入一个VA View,可以更方便的查找工程中的文件、类和变量。vc6 的专家系统
2009-01-07 09:43:00 3122
原创 "##"在宏中的作用
##用于将两个字符串连接起来。例如:#define DECLARE_DYNAMIC(class_name) /public: / static CRuntimeClass class##class_name; / virtual CRuntimeClass* GetRuntimeClass() const; 宏:DECLARE_DYNAMIC(CView
2008-12-31 16:35:00 828
原创 MFC六大关键技术
MFC initialization程式的初始化過程RTTI Runtime Type Information执行时期类型识别1. /GR /GR enable C++ RTTI 編譯時需選用 選項( 的意思是 )2. 含入 typeinfo.h3. 使用新的typeid運算子。运行时类型识别其实就是维护了一条静态链表,链表中存储着从基类到到子类的信息。每一个对象中其实都有一个C
2008-12-31 15:32:00 691
转载 进程与线程不平凡的一生
[进程的生命历程]执行一个程序,必然就产生一个进程(Process)。最直接的程序执行方式就是在shell(如 Windows 9x的资源管理器或Windows 3.x的文件管理器)中以鼠标双击某一个可执行文件图标(假设其为App.exe),执行起来的App进程其实是shell调用CreateProcess激活的。让我们看看整个流程: 1、shell调用CreatePr
2008-12-31 13:51:00 746
转载 PE文件格式分析及修改
PE 的意思是 Portable Executable(可移植的执行体),它是 Win32环境自身所带的执行文件格式。在Win32系统中,PE文件可以认为.exe、.dll、.sys 、.scr类型的文件,这些文件在磁盘上存贮的格式都是有一定规律的。 PE 的意思是 Portable Executable(可移植的执行体)。它是 Win32环境自身所带的执行文件格式。它的一些特性继
2008-12-30 17:22:00 1463
原创 关于lib
目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)。 静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archive,即合并到一起。比如你链接一个静态库,如果其中有错,它会准确的找到
2008-12-29 17:25:00 1013
原创 STL 学习整理
条款4:用empty()来代替检查size()是否为0因为size()可能需要O(n)的时间,但是empty()只需要O(1)条款5:尽量使用区间成员函数代替它们的单元素兄弟对于插入已知数量或已知区间的元素,使用区间版的成员函数效率高。比如vt.insert(a, a+100000)效率将显然高于for(i=0;i因为后者需要反复调用insert()并可能多次重新分配空间条款7:当使用new得指针
2008-12-29 16:36:00 757
原创 STL中相等(equality)与等价(equivalence)的区别
1.相等(equality) 【无序数据】相等关系是以operator ==为基础的。a与b相等: a == b 例子:find,count,count_if等等大部分函数2.等价(equivalence) 【已序数据】等价关系是以“在已排序的空间中对象值得相对顺序”为基础的。a与b等价: !(a 作为比较规则): AssociativeContainer x; ! x.key_compare()
2008-12-29 16:06:00 787
原创 [EffectiveSTL]条款28:了解如何通过reverse_iterator的base得到iterator
调用reverse_iterator的base成员函数可以产生“对应的”iterator,但这句话有些辞不达意。举个例子,看一下这段代码,我们首先把从数字1-5放进一个vector中,然后产生一个指向3的reverse_iterator,并且通过reverse_iterator的base初始化一个iterator:vectorint> v;v.reserve(5);
2008-12-26 10:49:00 1012
原创 无名对象
#include using namespace std; class Internet { public: Internet(char *name,char *address) { cout"载入构造函数" strcpy(Internet::name,name);
2008-12-25 17:40:00 1306
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人