成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

C語(yǔ)言指針強(qiáng)制類(lèi)型轉(zhuǎn)換 C語(yǔ)言中,函數(shù)指針的強(qiáng)制類(lèi)型轉(zhuǎn)換有什么作用?

C語(yǔ)言中,函數(shù)指針的強(qiáng)制類(lèi)型轉(zhuǎn)換有什么作用?常量疊加問(wèn)題,樓上@Wang NIMA是對(duì)的,簡(jiǎn)單直接的方法就是用匯編來(lái)追蹤源碼。它也可以用const屬性來(lái)解釋。const的一部分是替換C語(yǔ)言中的宏定義。

C語(yǔ)言中,函數(shù)指針的強(qiáng)制類(lèi)型轉(zhuǎn)換有什么作用?

常量疊加問(wèn)題,樓上@Wang NIMA是對(duì)的,簡(jiǎn)單直接的方法就是用匯編來(lái)追蹤源碼。它也可以用const屬性來(lái)解釋。const的一部分是替換C語(yǔ)言中的宏定義。宏定義發(fā)生在預(yù)處理過(guò)程中。因此,在cout過(guò)程中,替換已經(jīng)完成。在獲取地址時(shí),這里使用const作為頂級(jí)指針,它只能確保不修改值和地址。原則上,對(duì)于這種老式的cast類(lèi)型轉(zhuǎn)換,建議使用const。

指針類(lèi)型強(qiáng)轉(zhuǎn)求助?

(CLogonDlg*)m_pWnd=m_2;在C中可以這樣編寫(xiě),一些C編譯器也允許這樣做。VC報(bào)告了一個(gè)錯(cuò)誤。

常規(guī)指針類(lèi)型強(qiáng)制是將等號(hào)右側(cè)的表達(dá)式強(qiáng)制轉(zhuǎn)換為結(jié)果所需的類(lèi)型(即等號(hào)左側(cè)的變量類(lèi)型)。所以:

mupwnd=(void*)muwnd

muwnd=(CLogonDlg*)mupwnd

在任何C/C編譯器中,都不會(huì)報(bào)告任何操作(當(dāng)然,CLogonDlg需要正確解釋?zhuān)?/p>

因?yàn)镸upwnd類(lèi)型是void*,所以可以這樣寫(xiě):

Mupwnd=wuwnd

也就是說(shuō),任何指針變量類(lèi)型都可以直接分配給void*類(lèi)型,而不必強(qiáng)制進(jìn)行類(lèi)型轉(zhuǎn)換。

相反,void*類(lèi)型只能通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換轉(zhuǎn)換為其他指針變量類(lèi)型:

m_Wnd=(CLogonDlg*)m_pWnd