gpt4 book ai didi

pointers - 当我们说 uintptr 存储指针值的未解释位时,这意味着什么?

转载 作者:IT王子 更新时间:2023-10-29 00:59:27 27 4
gpt4 key购买 nike

我在 golang 网站上读到 uintptr 存储指针值的未解释位,我在网上找到的那种答案非常困惑。有人可以用简单的词向我解释一下吗。

最佳答案

简答:当您需要像使用数字一样使用地址时使用它。

Go 是一种垃圾收集语言。 Go 总是准确地知道,什么时候一个东西是一个指针,什么时候它只是一个值。 Go 需要这些知识来寻找它可以释放的旧的未使用值。指针在 Go 中也很特殊,因为您不能像在 C 中那样只向指针添加一个数字。

但有时,当你使用嵌入式系统或某种低级库时,你需要在其中添加或减去地址,你需要告诉 Go 它不应该检查这个指针,因为它没有指向任何东西目前有用。您只想像使用一个数字一样使用此地址,并向其添加/减去另一个数字。

这是您将使用 uintptr 的地方。这种类型可以保存任何指针值(任何地址),当你将地址放入其中时,Go 不会将其视为指针,因此你可以用它做任何你想做的事。

关于pointers - 当我们说 uintptr 存储指针值的未解释位时,这意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454089/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com