Mar*_*lon 17 c c++ unsigned wchar-t short
例如,做:
wchar_t x;
Run Code Online (Sandbox Code Playgroud)
翻译成:
unsigned short x;
Run Code Online (Sandbox Code Playgroud)
Art*_*yom 21
简而言之:在C中可能是C++没有.
广泛.C将wchar_t定义为typedef,但在Unix中它通常是4个字节(通常不短),而在Windows 2中它可能很短.
在C++下,它是独特的内置类型,char或者int,因此你可以合法地重载void foo(short x)和void foo(wchar_t x)
Tim*_*ing 15
对于可能遇到此答案的任何其他人,因为Visual Studio项目中的函数调用不会链接,尽管双方都采用wchar_t(或类似的类型,例如LPCTSTR使用UNICODE #defined),并且当您对库的导出进行DUMPBIN时,该函数需要const unsigned short *,请注意,VS允许您wchar_t作为内置类型关闭.如果某人在库中更改了此项,并且您没有在项目中点击相同的编译器开关,则它将不会链接.
此选项可在"项目属性> C/C++ /语言/将WChar_t作为内置类型"下更改,也可以通过"/ Zc"选项进行更改.
sbi*_*sbi 11
对于C,wchar_t是一个typedef.它是否是一个同义词unsigned int,是否是一个无符号类型,或者它是否是4个字节,是实现定义的.
在C++中,wchar_t是一种独特的内置类型.在这里,它的大小和签名也是实现定义的.