【发布时间】:2010-03-04 19:30:34
【问题描述】:
当你有一个 LPCWSTR 时,为什么它是一个长指针?据我所知,它的定义中没有 Long。
谁能解释一下?
【问题讨论】:
标签: c++ string pointers long-integer
当你有一个 LPCWSTR 时,为什么它是一个长指针?据我所知,它的定义中没有 Long。
谁能解释一下?
【问题讨论】:
标签: c++ string pointers long-integer
“Long”是 Windows 16 位的遗留物。在过去,在 DOS 和 Windows 3.x 上,大多数应用程序都是 16 位的,并且具有 16 位指针。 32 位指针是“长”的,必须特别声明,并使用(在某些 DOS 情况下)选择器而不是平面地址空间。
【讨论】:
在 32 位或更高版本的机器上,长指针与任何其他指针相同。差异出现在具有较小本机字大小的机器上,例如,您可能具有 16 位指针和 32 位指针类型。通常他们被称为near and far pointers。
【讨论】: