您的位置:首页 > 编程语言 > C语言/C++

VC++2005中的unsigned short和wchar_t

2008-06-10 12:19 78 查看
      很多人可能会认为unsigned short和wchar_t是一个东西。其实不然。在C++标准中,wchar_t是个内建的类型,长度是16bit。所以很多编译器就直接typedef unsigned short wchar_t。 但是事实上他们并不完全是一个东西。所以该写wchar_t还是写wchar_t。不要跟unsigned short混合起来写。
      举个例子。在VC++2005中有个编译开关叫: trait wchar_t as build-in type。如果打开这个选项那么wchar_t和unsigned short就完全是两个类型,也就是说 void function(wchar_t arg) 和void function(unsigned short)是两个参数不同的函数,反之则是一个函数。 这个在同一个工程中问题不大。但是如果你在两个不同的工程里
 trait wchar_t as build-in type这个选项设置不同的话,就会出现问题。具体原因大家自己去想。呵呵。懒得写了。
     总之,遵守标准来写代码。总是对的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: