unsigned long和UINT64之间的区别

Lir*_*ran 16 c c++ windows

unsigned long和之间有什么区别UINT64?我认为它们是一样的,但我不确定.定义UINT64是:

typedef unsigned __int64    UINT64
Run Code Online (Sandbox Code Playgroud)

(使用StdAfx.h)

Jas*_*oco 14

UINT64是特定的并声明您的意图.您需要一个类型为无符号整数,正好是64位宽.在某些平台上,这可能等于无符号长度是巧合.


Dav*_*eas 5

C++ 标准没有定义每个类型char的大小(除了),所以 的大小unsigned long是实现定义的。不过,在大多数情况下,我知道的unsigned long是 32 位无符号类型,而UINT64(这是一种实现类型,标准中甚至没有提到)是 VS 中的 64 位无符号整数。