登录
首页 >  Golang >  Go问答

go语言中的指针和c++的指针的区别

来源:SegmentFault

时间:2023-01-07 17:18:23 126浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《go语言中的指针和c++的指针的区别》,聊聊指针、go,希望可以帮助到正在努力赚钱的你。

问题内容

不太清楚go语言中的指针和c++的指针的区别在哪里

正确答案

Go 语言里面的指针和 C++ 指针一样,都是指向某块内存的地址值,可以解引用,不同只是在于 C++ 里可以直接对指针做算术运算(+、-、++、--)而 Go 里面不行。

差别真的仅限于此,而且 Go 还提供了一些底层的库

reflect
unsafe
,它们可以让使用者把任意一个 Go 指针转成
uintptr
类型的值,然后再像 C++ 一样对指针做算术运算,最后再还原成 Go 类型。所以从这个角度上来说,Go 的指针也是可以和 C++ 指针一样使用的,只是会比较绕,这同时也要求使用者自己明白,如果真要把指针这么用,那么请记得后果自负。

下面就是一个在 Go 里面直接操作内存指针的例子:

http://play.golang.org/p/z_GMnh38Z1 (需翻墙)

今天关于《go语言中的指针和c++的指针的区别》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表