摘要: 1 #include "stdafx.h" 2 #include <iostream.h> 3 #include <stdlib.h> 4 5 6 void MyClose(FILE** lpFile) 7 { 8 *lpFile = NULL; 9 }10 11 void MyClose2(FILE* lpFile)12 {13 lpFile = NULL;14 }15 16 int main(int argc, char* argv[])17 {18 19 FILE* lpFile1 = (FILE*)0x123;20 21 FILE* lpFi 阅读全文
posted @ 2012-12-30 00:44 _** 阅读(330) 评论(0) 推荐(0) 编辑
摘要: VC 中与字符串相关的宏 _T、TEXT,_TEXT、L 的作用一、在字符串前加一个L作用:如L"我的字符串"表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。strlen("asd") =3; strlen(L"asd") =6;二、_T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式如果你定义了UNICODE,那么_T宏会把字符串前面加一个L。这时 _T("ABCD") 相当于L"ABCD&qu 阅读全文
posted @ 2012-12-29 18:42 _** 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 建立一个合适的坐标系可以为我们的绘图带来很大的方便 。下面介绍一下如何在VC中建立我们想要的坐标系。 一 设备坐标和逻辑坐标 设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以像素为单位来表示的,设备坐标的X轴向右为正,Y轴向下为正,坐标原点位于窗口的左上角。 逻辑坐标(Logical Coordinate)是系统用作记录的坐标。在缺省的模式(MM_TEXT)下,逻辑坐标的方向和单位与设备坐标的方向和单位相同... 阅读全文
posted @ 2012-12-29 18:24 _** 阅读(1019) 评论(0) 推荐(0) 编辑
摘要: typedef用法typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。typedef 使用最多的地方是创建易于记忆的类型名,用它来归档程序员的意图。类型出现在所声明的变量名字中,位于 ''typedef'' 关键字右边。例如:typedef int size; 此声明定义了一个 int 的同义字,名字为 size。注意 typedef 并不创建新的类型。它仅仅为现有类型添 阅读全文
posted @ 2012-12-29 18:19 _** 阅读(222) 评论(0) 推荐(0) 编辑
摘要: #define用法 收藏1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i<MAXTIME){.........}编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换,而不是作为一个量来使用,这个问题在下面反映的尤为突出。2.define的“函数定义”define可以像函数那样接受一些参数,如下#define max(x,y) (x)>(y)?(x):(y);这个定义就将返回 阅读全文
posted @ 2012-12-29 18:18 _** 阅读(361) 评论(0) 推荐(0) 编辑
摘要: typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。具体区别在于:若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n;若用typedef,可以这样写,typedef struct node{}NODE; 。在申请变量时就可以这样写,NODE n;区别就在于使用时,是否可以省去struct这个关键字。struct和typedef struct分三块来讲述:1 首先:在C中定义一个结构体类型要用typedef:typedef struct Student{int a;}Stu;于是在声明变量的时候 阅读全文
posted @ 2012-12-29 18:15 _** 阅读(19812) 评论(0) 推荐(2) 编辑
摘要: 深度探索智能指针(Smart Pointer)主题索引:一、剖析C++标准库智能指针(std::auto_ptr) 1.Do you Smart Pointer? 2.std::auto_ptr的设计原理 3.std::auto_ptr高级使用指南 4.你是否觉得std::auto_ptr还不够完美?二、C++条件,寻找构造更强大的智能指针(Smart Pointer)的 策略 1.支持引用记数的多种设计策略 2.支持处理多种资源 3.支持Subclassing 4.支持多线程条件下,线程安全的多种设计策略 5.其它多种特殊要求下,再构造三、Generic Programming基础技术和.. 阅读全文
posted @ 2012-12-18 04:00 _** 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 主题索引:一、剖析C++标准库智能指针(std::auto_ptr) 1.Do you Smart Pointer? 2.std::auto_ptr的设计原理 3.std::auto_ptr高级使用指南 4.你是否觉得std::auto_ptr还不够完美?二、C++条件,寻找构造更强大的智能指针(Smart Pointer)的 策略 1.支持引用记数的多种设计策略 2.支持处理多种资源 3.支持Subclassing 4.支持多线程条件下,线程安全的多种设计策略 5.其它多种特殊要求下,再构造三、Generic Programming基础技术和Smart Pointer 1.回首处理资源中.. 阅读全文
posted @ 2012-12-18 03:59 _** 阅读(256) 评论(0) 推荐(0) 编辑
摘要: ATL之深入浅出介绍一本关于ATL的书《ATL Internals》潘爱民,5月7日,2000年北京大学计算机研究所,100871引言面对计算机图书市场的繁荣景象,我经常感叹今天学习计算机开发技术的同道们是多么幸运。十年前,我们学习计算机语言非常不容易,要掌握各种开发工具只有靠自己的摸索和极少量的参考手册。我记得,94年我学习Visual C++和MFC的时候,基本上只有靠软件自带的联机帮助;现在情形大不同了,书店中的计算机图书琳琅满目,关于Visual C++和MFC的书籍尤其多。有几位编辑朋友劝我写一点这方面的书,我觉得不大有必要了,因为Visual C++的好书已经不少了,适合各种读者层 阅读全文
posted @ 2012-12-18 03:55 _** 阅读(553) 评论(0) 推荐(0) 编辑
摘要: C++程式设计过程中,const的使用可以频度是非常高的.它在保证程式安全方面起到了不可估量的作用.用一句话来表达最确切不过了:”小兵立大功”. 有了const,那么mutable当然缺不了. 然作为const的同胞兄弟,volatile却在很多人的视野中消失.其实volatile担负的责任有何尝小呢? 自然,它们的用法多样而灵巧,以至新手迷惑久久,下面就来系统的探讨总结一下吧:一.一般应用1.const修饰各种变量的用法. a.取代define #define D_INT 100 #define D_LONG 100.29 ……… const int D_INT = 100; const D 阅读全文
posted @ 2012-12-18 03:53 _** 阅读(193) 评论(0) 推荐(0) 编辑