C / C++
thinkport
这个作者很懒,什么都没留下…
展开
-
无法使用stl中max和min的原因
问题:使用std::numeric_limits::max方法时,编译器报warning C4003: “max”宏的实参不足。使用std::max、std::min和定义名为max、min方法时也报错。原因:由于头文件Windows.h中的定义了宏max和min造成的。在Windows.h头文件中定义了宏max和min,Preprocessor就认为我们使用的是宏max或min,而再调用时调原创 2008-03-10 11:19:00 · 1788 阅读 · 0 评论 -
小心char类型带来的麻烦
char的类型有几种呢?无非是unsigned char 和signed char,是吧。让我们用下面的程序来做个测试Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->templatetypename T>struct Type{ inline原创 2008-03-10 11:30:00 · 685 阅读 · 0 评论 -
在不同模块分配和释放内存时出错的原因
问题:如果程序的模块中有一个链接到静态C/C++运行期库,那么在这个模块中分配内存而在另一个模块中释放这块内存将失败。 原因:造成失败的原因是分配和释放内存不是由相同的堆管理程序完成的,例如动态链接库中的堆在默认情况下是由msvcrt.dll中的堆管理程序管理的(以动态链接的方式),而exe程序的堆在默认情况下是由程序自己的代码管理(以静态链接的方式),由于它们的堆管理程序不同,当动态链接库分原创 2008-12-25 19:19:00 · 742 阅读 · 0 评论