发布于 2014-05-09 15:08:22
(**LP**-types): 指的是"long pointers“
在那里(奔腾前)你有长短指针。由于WINAPI在那些时候已经存在,而且今天仍然试图与当时的代码兼容,所以LPsomething-types幸存了下来。
UINT_PTR**:** 指
这是一个足够宽的整数,足以容纳指针的值。C11-标准将这类类型定义如下:
7.20.1.4能够保存对象指针的整数类型 1.下面的类型指定一个有符号整数类型,该类型的属性是,任何指向void的有效指针都可以转换为此类型,然后再转换回指针为void,结果将与原始指针相比较: intptr_t 下面的类型指定一个无符号整数类型,该类型的属性是,任何指向void的有效指针都可以转换为此类型,然后再转换回指针为void,结果将与原始指针相比较: uintptr_t 这些类型是可选的。
发布于 2014-05-09 15:10:26
UINT_PTR不是指针类型。它是一个无符号整数类型,宽度足以存储指针值(因此它的宽度取决于目标平台)。它的存在是因为int和unsigned int不一定足够宽到足以容纳指针(特别是在Windowsforx64上,int仍然是32位,指针是64位)。
https://stackoverflow.com/questions/23567959
复制相似问题