go指针与C++指针用法不同,按哪个语言的用法用指针,请问如何抉择?

taatcc · · 1337 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

```go func abc(){ a := 1 p := &a return p } ``` 以上在go中可以返回局部指针,而c++不可以,而在go中,这样从局部返回指针,是否符合规范 ```go package main import "fmt" var p *int func abc2(){ var a=1 p=&a } func main() { abc2() fmt.Println(*p) //输出:1 fmt.Println(*p) //仍然输出:1 } ``` c++中,以上函数abc2()在执行完后,p会成为悬垂指针,而go中正常,在go中,这样是否也规范? c++不行的,go中正常,现在感觉思维混乱了,求指导。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1337 次点击  
加入收藏 微博
6 回复  |  直到 2018-05-10 13:09:06
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传