问一个简单又奇怪的问题!<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 请问NULL和null,TRUE和true,FALSE和false等有啥区别?好象任何书上都没有介绍这些知识! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 大写的是vc编译器中定义的数据小写的是语言中定义的,各个语言对此的支持并不一样比如c++和java,basic等 小写的是C/C++语言;大写的是SDK定义的。 1.FALSE/TRUE与false/true的区别:false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义:#ifndef FALSE#define FALSE 0#endif#ifndef TRUE#define TRUE 1#endif也就是说FALSE/TRUE是int类型,而false/true是bool类型;所以两者不一样的,只不过我们在使用中没有这种感觉,因为C++会帮你做隐式转换。2.bool的大小与BOOL的区别:bool在C++里是占用1字节,而BOOL是int类型,int类型的大小是视具体环境而定的;所以来说:false/true只占用1个字节,而TRUE/FALSE视具体环境而言 嗯大写的是windows中的宏定义使用的时候用哪个都可以,凭个人习惯 避免产生重影 HOOK全局钩子的问题 VC++中内联函数不起作用? C++类定义中为什么要分public private 和 protected SDK调用资源写窗口和用纯API写窗口有什么区别? vc中如何将Listview在Report显示方式下,将一整行的前景颜色更改? 请教高手!? 使用regsvr32 时怎样不显示成功的对话框(即参数?) 看过《WINDOWS 程序设计》5th的请进 怎样获取局域网上所有机器的可能IP地址??? 路径中字体颜色问题 请教~
小写的是语言中定义的,各个语言对此的支持并不一样
比如c++和java,basic等
大写的是SDK定义的。
false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义:
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
也就是说FALSE/TRUE是int类型,而false/true是bool类型;所以两者不一样的,只不过我们在使用中没有这种感觉,因为C++会帮你做隐式转换。
2.bool的大小与BOOL的区别:
bool在C++里是占用1字节,而BOOL是int类型,int类型的大小是视具体环境而定的;所以来说:false/true只占用1个字节,而TRUE/FALSE视具体环境而言
大写的是windows中的宏定义
使用的时候用哪个都可以,凭个人习惯