首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >wchar_t仅仅是unsigned short的一个类型定义吗?

wchar_t仅仅是unsigned short的一个类型定义吗?
EN

Stack Overflow用户
提问于 2010-03-07 15:30:32
回答 4查看 15K关注 0票数 20

例如,会:

代码语言:javascript
复制
wchar_t x;

翻译为:

代码语言:javascript
复制
unsigned short x;
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-07 15:34:04

简而言之:在C中可能是在C++中。

广泛性。C将wchar_t定义为typedef,但在Unix中,它通常是4字节(因此通常不短),而在Windows2中,它可能很短。

在C++下,它是唯一的内置类型,如charint,因此您可以合法地重载void foo(short x)void foo(wchar_t x)

票数 22
EN

Stack Overflow用户

发布于 2010-09-08 09:27:13

其他任何人可能会遇到这个问题,因为你的Visual Studio项目中的函数调用不会链接,尽管双方都使用wchar_t (或类似的类型,例如定义了UNICODE #的LPCTSTR ),并且当你将库的导出中的函数作为const unsigned short *使用时,请注意,VS允许您将wchar_t作为内置类型关闭。如果有人在库中更改了这一点,而你没有在你的项目中点击相同的编译器开关,那么它将无法链接。

此选项可以在“项目属性>C/C++/语言/将WChar_t视为内置类型”下更改,也可以通过"/Zc“选项更改。

票数 17
EN

Stack Overflow用户

发布于 2010-03-07 16:39:07

对于C,wchar_t是一个typedef。它是否是unsigned int的同义词,是无符号类型,还是4字节,都是由实现定义的。

在C++中,wchar_t是一种独特的内置类型。在这里,它的大小和符号也是由实现定义的。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2395514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档