gpt4 book ai didi

pointers - 什么时候指针是惯用的?

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

我来自没有明确指针的语言,所以我真的不明白它们存在的意义(没有双关语意)。

问题是,大多数时候我不知道为什么要传递一个指向函数的指针。我明白当你传入一个指针时,对变量的修改会在任何地方对值进行,但这有什么意义呢?为什么不只修改值并返回结果呢?

例如,http.HandlerFunc 是一个接收http.ResponseWriter*http.Request 作为参数的函数。我读到接口(interface)实际上是指针(对吗?),但我不明白的是,为什么?

为什么我会得到指向作者的指针?我没有修改它,我只是写信给它。而且,为什么我会得到一个指向请求的指针?我正在做类似 request.FormValue() 的事情。

我在这里试图通过这些示例确定的是“我什么时候需要传入指针?”这个问题的答案

我现在的做法是编写我的代码,尝试编译它,通过添加一个符号和星号来修复说我必须传入指针的错误,直到错误通过。但是,我觉得这个对指针的理解还未完全理解的概念很快就会在我背后咬一口。

最佳答案

您可以将指针视为指向对象内存地址的值。与大多数数据结构相比,指针很小(比如 8 个字节)。

很多时候你会得到一个指向对象的指针,因为传递这 8 个字节比创建要传递的整个对象的副本要快得多。

在请求对象的情况下,与仅传递有权访问原始数据的指针相比,创建请求下所有内容(有效负载、 header 等)的副本将非常昂贵。

关于pointers - 什么时候指针是惯用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35000292/

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