我说的是如果编译器有"如果sizeof(unsigned long) == sizeof(unsigned long long),就自动把unsigned long *转为unsigned long long *"这个行为,影响代码移植,换个平台会导致代码可能完全无法编译。
而且C/C++规范里未必对编译器有这个自动cast的要求,那编译器为何要吃力不讨好呢,仅仅是为了满足某些小众需求?
C++也没限制说跨平台必须用stdint而不能用int/long/long long这些类型,那肯定有代码用了这些类型的,不能因为你没有跨平台用这些类型,就一定要编译器怎么样
【 在 lwp 的大作中提到: 】
: 用long和longlong的都没啥移植要求吧
: 有移植需求的不都是用stdint.h么
:
: ...................
--
修改:z16166 FROM 221.218.160.*
FROM 221.218.160.*