2006年7月28日

摘要: 昨天在饼子 面食堂 里面被问及debug_new和内存管理的一些问题,没有正面回答,当时只顾和 草草扯淡了。确实,平时只管用debug_new,也大概知道实现的原理,重载new,察看mfc的“源代码”:void* AFX_CDECL operator new(size_t nSize, LPCSTR lpszFileName, int nLine);#define DEBUG_NEW new(TH... 阅读全文

posted @ 2006-07-28 11:15 李通通 阅读(1035) 评论(0) 推荐(0) 编辑

摘要: _DEBUG是宏。支持诊断调试功能,在你的编译器定义了_DEBUG是发生作用.分开debug模式和release模式MFC程序中,很多地方都用到了这个宏。一般是以条件宏来实现 #ifdef _DEBUG ....#else ....#endif 如果在编译器看到了你定义_DEBUG和没定义,编译的程序是不一样的在Release 定义的是NDEBUG.__FILE__宏这个宏表示当前执行代码所在... 阅读全文

posted @ 2006-07-28 11:10 李通通 阅读(920) 评论(0) 推荐(0) 编辑

摘要: #if (**) {语句##;} #endif 如果(**)为真,也就是逻辑1,的话就编译下面的语句。如果(**)不为真。则不编译下面的语句。 和if else相仿。 !defined在一般情况下是这样用的吧: #if !defined ** {语句;} #endif 它的意思是,如果在程序中没有对**进行过#defined ** 的定义。则编译下面的语句,否则不编译。这中情况多用在需要经常移植的... 阅读全文

posted @ 2006-07-28 10:27 李通通 阅读(2292) 评论(0) 推荐(1) 编辑

摘要: 好不容易问人要的,可惜是英文的(努力英文中),放到网上,给大家分享下。 http://www.cnblogs.com/Files/ltt1987/h26x.zip 阅读全文

posted @ 2006-07-28 00:54 李通通 阅读(326) 评论(0) 推荐(0) 编辑

摘要: 指向常量的指针char ch[5] = "lisi";const char * pStr =ch; //表示指向对象是常量 使用方法:*pStr='W' // 错五pStr="wangxu" //正确 指针常量char ch[5]="lisi";char * const pStr=ch; //表示指针本身是常量 pStr="" //Error*pStr='W' //Ok 阅读全文

posted @ 2006-07-28 00:52 李通通 阅读(185) 评论(0) 推荐(0) 编辑