第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

指向指針的最佳指針是什么?

指向指針的最佳指針是什么?

Go
holdtom 2021-04-29 14:15:04
使用Go編程語言;指向指針的指針如何變得有用?(如果它們沒有真正的用處,為什么它們不是非法的?)
查看完整描述

3 回答

?
肥皂起泡泡

TA貢獻1829條經(jīng)驗 獲得超6個贊

任何數(shù)據(jù)類型的有用性都取決于要解決的問題和用于解決該問題的方法。如果數(shù)據(jù)類型不適合該問題,那么它根本就不適合該問題-僅此而已。

Go編程語言(以及大多數(shù)其他編程語言)基于程序員可以用來構(gòu)建新數(shù)據(jù)類型的簡單規(guī)則。其中一些規(guī)則是:

  • *T:創(chuàng)建一個新數(shù)據(jù)類型,該數(shù)據(jù)類型是指向T的指針

  • [10]T:Ts數(shù)組

  • struct { t T; u U ... }:包含T作為組成部分的結(jié)構(gòu)

  • ...

程序員可以通過組合這些簡單的規(guī)則來創(chuàng)建復(fù)雜的數(shù)據(jù)類型。可能的數(shù)據(jù)類型總數(shù)超過了有用的數(shù)據(jù)類型總數(shù)。顯然,存在(并且必須存在)完全沒有用的數(shù)據(jù)類型。這只是建立新數(shù)據(jù)類型的規(guī)則很簡單這一事實的自然結(jié)果。

類型**T屬于不太可能出現(xiàn)在程序中的類型類別??梢詫懙?code>*****T事實并不意味著這種類型必須非常有用。


最后,您的問題的答案

該類型**T通常出現(xiàn)在我們想要將一個類型的值的用戶重定向T到另一個類型的值的上下文中T,但是由于某些原因,我們無法訪問該值的所有用戶,或者發(fā)現(xiàn)這些用戶會花費太多時間:

  1. 我們不想復(fù)制類型的值T(由于某種原因)

  2. 我們希望所有類型T為值的用戶都可以通過指針訪問該值

  3. 我們想要快速將類型為特定值的所有用戶重定向T到另一個值

在這種情況下,使用**T是很自然的,因為它允許我們在O(1)中實現(xiàn)第三步:

type User_of_T struct {

  Value **T

}


// Redirect all users of a particular value of type T

// to another value of type T.

func (u *User_of_T) Redirect(t *T) {

  *(u.Value) = t

}


查看完整回答
反對 回復(fù) 2021-05-10
?
慕哥9229398

TA貢獻1877條經(jīng)驗 獲得超6個贊

在C語言中,指向指針的指針很常見。例如:

  • 更多維數(shù)組(例如,字符串數(shù)組,char** argv可能是此處最突出的示例)

  • 指針作為輸出參數(shù)

但是,在Go中,很少有指向指針的指針。切片類型(也可以在內(nèi)部存儲一個指針)而不是通過指針訪問數(shù)組。因此,您仍然可以通過在Go中使用切片來獲得相同類型的間接訪問,但通常不會看到類似**int此處的內(nèi)容。

但是,第二個示例可能仍然適用于Go程序。假設(shè)您有一個函數(shù),應(yīng)該可以更改作為參數(shù)傳遞的指針。在這種情況下,您將必須將指針傳遞給該指針,以便可以更改原始指針。這在C語言中極為常見,因為函數(shù)只能返回一個值(通常是某種錯誤代碼),并且如果要返回附加的指針,則必須使用指向該指針的指針作為輸出參數(shù)。但是,Go中的函數(shù)可以返回多個值,因此,指向指針的情況也很少見。但是它們可能仍然有用,并且在某些情況下可能會導(dǎo)致更好的API。

例如,atomic.StorePointer函數(shù)可能是標準庫中的指針的罕見但隱藏得很好的用例之一。


查看完整回答
反對 回復(fù) 2021-05-10
  • 3 回答
  • 0 關(guān)注
  • 256 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號