免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: hitraistlin

小心char类型带来的麻烦 [复制链接]

论坛徽章:
0
发表于 2009-03-18 09:05 |显示全部楼层
原帖由 hitraistlin 于 2009-3-16 22:47 发表
char的类型有几种呢?无非是unsigned char 和signed char,是吧。让我们用下面的程序来做个测试
template
struct Type
{
    inline static
void print()
    {
        std::cout  

char 就是有三种类型,这个c++标准里有规定

论坛徽章:
0
发表于 2009-03-18 15:43 |显示全部楼层

回复 #11 jazy333 的帖子

看到论坛里的一个贴子:
找到句话

In the ANSI C Draft Standard, the keyword signed was added, introducing a signed char type for all platforms. The new keyword solved the problem of not being able to use signed char portably, but at this point the standard committee could not mandate plain char to be signed. It would break a lot of code and upset vendors as well as users.

The comprimise was to make signed char a type distinct from the two existing character types, while requiring char to have the same representation and values as either signed char or unsigned char. In other words, a char must look exactly like a signed char or unsigned char to the hardware; which one is implementation-defined. C++ later adopted this compromise for compatibility with C, so both languages now have three distinct char types.

说明char, unsigned char, signed char是三种类型,哈哈,char不像int 一样默认为signed的,主要是为了不使得前面很多程序不至于被颠覆

论坛徽章:
0
发表于 2009-03-18 16:48 |显示全部楼层
学习到了!

论坛徽章:
0
发表于 2009-03-19 22:31 |显示全部楼层
那int跟signed int呢,int跟int32呢,等等。char的用法还是相当的安全的,如果有人去设置这样的玩意,那还不如炒掉这个人,这样的设置根本没有任何意义。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP