ULONG_PTR到底是什么意思

cdj8887 2011-01-15 03:05:58
typedef _W64 unsigned long ULONG_PTR, *PULONG_PTR;
ULONG_PTR 我知道他就是无符号long, 而 PULONG_PTR 才是无符号long类型的指针,那既然ULONG_PTR不是指针那为什么加上一个PTR?,PTR 不是pointer的缩写吗?微软加了一个_PTR 到底是何含义呀?
...全文
740 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cdj8887 的回复:]

有没有知道的呀,
[/Quote]
看1楼,已经很明确的解释了
cdj8887 2011-01-17
  • 打赏
  • 举报
回复
有没有知道的呀,
cdj8887 2011-01-17
  • 打赏
  • 举报
回复
既然微软定义了这个东西,就一定有他的意思,我觉得明白了他存在的意义,就一定会更好的应用,才不会写出糟烂的代码
arong1234 2011-01-17
  • 打赏
  • 举报
回复
这叫盲目崇拜[Quote=引用 5 楼 cdj8887 的回复:]
既然微软定义了这个东西,就一定有他的意思,我觉得明白了他存在的意义,就一定会更好的应用,才不会写出糟烂的代码
[/Quote]
feng4206yu 2011-01-15
  • 打赏
  • 举报
回复
指针变量本来就跟普通变量一样具有存储宽度,win32上是4个字节,win64是就是8个字节,这没什么难理解的.
arong1234 2011-01-15
  • 打赏
  • 举报
回复
我觉得既然你知道定义就知道是什么了,这个定义显然不是一个指针,很显然写这个代码的人定义宏的时候名字不是很好。有时候即使是微软的程序员定义名字也不一定合理,何必一定要找合理性解释?[Quote=引用楼主 cdj8887 的回复:]
typedef _W64 unsigned long ULONG_PTR, *PULONG_PTR;
ULONG_PTR 我知道他就是无符号long, 而 PULONG_PTR 才是无符号long类型的指针,那既然ULONG_PTR不是指针那为什么加上一个PTR?,PTR 不是pointer的缩写吗?微软加了一个_PTR 到底是何含义呀?
[/Quote]
  • 打赏
  • 举报
回复
好象GDI+初始化的时候有它,微软就是喜欢用typedef和#define把一个人起多个名字,搞得头晕
bruceteen 2011-01-15
  • 打赏
  • 举报
回复
MSDN是这么放的:Unsigned long type for pointer precision. Use when casting a pointer to a long type to perform pointer arithmetic. (Also commonly used for general 32-bit parameters that have been extended to 64 bits in 64-bit Windows. )

这个_PTR并不是说ULONG_PTR是个pointer,而是说它具有pointer的宽度
M$的命名都是很变态的说

65,197

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧