自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

经典GVIM教程经典GVIM教程经典GVIM教程

经典GVIM教程经典GVIM教程经典GVIM教程经典GVIM教程

2010-08-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除