C++中,不同机器平台的unsigned int 和int两者大小会有不同吗
6个回答
2014-08-07
展开全部
什么long,unsigned int之类的就不该使用,应该使用size_t,ptrdiff_this ,intxx_t或者uintxx_t,因为整数位数从来都是个逗b问题
追答
不是你想不用就能不用的。。不过没事别用我还是赞成的。另外,ptrdiff_t是打错了么。。
en打错了
展开全部
与机器无关,在turbo C2.0中unsigned int和int都之战2个字节,在visual C6.0中占4个字节
追问
常函数在编译时能得出结果吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-07
展开全部
我怎么感觉这句话有语病。。C++11 3.9.1 3For each of the standard signed integer types, there exists a corresponding (but different) standard unsigned integer type: “unsigned char”, “unsigned short int”, “unsigned int”, “unsigned long int”, and “unsigned long long int”, each of which occupies the same amount of storage and has the same alignment requirements (3.11) as the corresponding signed integer type; that is, each signed integer type has the same object representation as its corresponding unsigned integer type.
追问
谢谢回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-07
展开全部
一般涉及到网络传输,最好使用类似:int_32,int_16,int_64这种明确指明长度的类型!因为long、int等类型在C++标准中是由编译器指定的,也就是说,除了char,其他类型的长度是不能确定的~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-07
展开全部
sizeof(unsigned int)==sizeof(int) and alignof(unsigned int)==alignof(int)大概是可以保证的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-07
展开全部
其次,这个长度与平台无关,只与编译器有关~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询