我正在工作的这个库需要在32位和64位机器上使用;由于64位机器上的unsigned int != size_t,所以我有很多编译警告。
将所有的unsigned int和size_t都替换为unsigned long是否存在任何弊端?虽然它看起来不太优雅,但是在我们的情况下,内存不是什么大问题... 我想知道是否有可能由这样的replace all操作创建任何错误/不希望的行为等(您可以给出例子)?谢谢。
将所有的unsigned int和size_t都替换为unsigned long是否存在任何弊端?虽然它看起来不太优雅,但是在我们的情况下,内存不是什么大问题... 我想知道是否有可能由这样的replace all操作创建任何错误/不希望的行为等(您可以给出例子)?谢谢。
size_t
是unsigned long long
,因为long
只有32位(即使在64位模式下也是如此)。 - Bo Perssonstd::size_t
替换所有相关的出现? - Konrad Rudolphintptr_t
)应该表示地址。size_t
表示对象大小或对象(数组)中的索引。 - Angew is no longer proud of SOsize_t
存在的整个原因是让你不必担心容器内部使用的类型。 - Spooksize_t
作为无符号整数类型。如果将其更改为有符号整数类型,几乎什么都无法正常工作。 - FrankHB