性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

徐土豆
認證:優(yōu)質(zhì)創(chuàng)作者
所在專題目錄 查看專題
c語言運行時出現(xiàn)segment fault的原因
一文理解C語言中的volatile修飾符
C語言中的內(nèi)存布局(memory layout)
do{}while(false)結(jié)構(gòu)的妙用
const修飾符并不保證運行時的常數(shù)性質(zhì)
引用與指針的區(qū)別
作者動態(tài) 更多
給定計算預(yù)算下的最佳LLM模型尺寸與預(yù)訓(xùn)練數(shù)據(jù)量分配
6小時前
大模型推理時的尺度擴展定律
1天前
世界多胞體與世界模型
6天前
獎勵模型中的尺度擴展定律和獎勵劫持
1星期前
MeCo——給預(yù)訓(xùn)練數(shù)據(jù)增加源信息,就能減少33%的訓(xùn)練量并且提升效果
2星期前

引用與指針的區(qū)別

本文轉(zhuǎn)自徐飛翔的“引用與指針的區(qū)別

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。

引用 (&)與指針(*)都可以在C++中用于表示一個對象的間接引用,其唯一差別似乎只有obj.member和pobj->member類似的用法上的區(qū)別。但其實這兩者在C++里面的具體用法和設(shè)計思想都不同的。我們知道在函數(shù)傳參數(shù)時,默認是值傳遞,意味著需要在傳參數(shù)時對傳入?yún)?shù)進行拷貝構(gòu)造,在返回時,如果也是值傳遞,那么同樣需要進行拷貝構(gòu)造。 作為一種更為高效的方法,是合適地進行引用傳遞,只是在函數(shù)傳參和返回時傳入和返回其對象的間接引用,使得這個過程更為高效,如:

int computeGradient(const Feature& input, Gradient* grad) {
	//....
	return SUCC; //狀態(tài)碼
}

在以上代碼中,傳入的引用input是一個常量,不應(yīng)該被程序改變,而*grad則是用于傳遞梯度的指針值,應(yīng)該對其進行處理,然后函數(shù)返回一個狀態(tài)碼表示運行狀態(tài)。在這個過程中,我們發(fā)現(xiàn),間接引用在實際應(yīng)用中有兩種類型,一種是僅僅是作為對象的引用,而不期望被程序改變;另一種是作為變量傳遞的。在C語言中,這兩種功能都用指針傳遞進行,頂多加上const表示其是常量,給予編譯器查錯的一絲絲尊嚴。然而在C++中,為了更好地區(qū)分這兩種功能,定義了一個『引用(&)』,引用專為第一個功能而生,因此對引用而言,必須對其進行初始化,而且初始化之后不能被改變,同時引用不能被初始化為空,因為這沒有意義。相比之下,指針靈活很多,初始化為nullptr不是什么問題,而且也隨時可能被改變。

聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 2
收藏 2
關(guān)注 52
成為作者 賺取收益
全部留言
0/200
  • dy-J4n9lg5Q 2021-05-19 13:29
    佩服樓主
    回復(fù)