靜態(tài)函數(shù)的聲明和定義 打熱補丁為什么不能用static?
打熱補丁為什么不能用static?簡而言之,當friendstatic聲明一個全局函數(shù)時,friend將默認該函數(shù)為extern,這與下面的靜態(tài)函數(shù)沖突。Staticfriend違反了不能在frien
打熱補丁為什么不能用static?
簡而言之,當friendstatic聲明一個全局函數(shù)時,friend將默認該函數(shù)為extern,這與下面的靜態(tài)函數(shù)沖突。Staticfriend違反了不能在friend聲明之前添加存儲類型關(guān)鍵字的規(guī)則。
靜態(tài)函數(shù)和普通函數(shù)的區(qū)別?
靜態(tài)函數(shù)與普通函數(shù)的區(qū)別:
使用static修改的函數(shù)在此源代碼文件中受到限制,不能用于此源代碼文件調(diào)用以外的代碼文件。默認情況下,普通函數(shù)是外部函數(shù),也就是說,它們可以被其他代碼文件調(diào)用。
在函數(shù)的返回類型前添加關(guān)鍵字static,函數(shù)定義為靜態(tài)函數(shù)。普通函數(shù)的定義和聲明在默認情況下是外部的,但是靜態(tài)函數(shù)只在聲明文件中可見,不能被其他文件使用。因此,定義靜態(tài)函數(shù)具有以下優(yōu)點:“<1>”可以在其他文件中定義同名函數(shù)而不會產(chǎn)生沖突。
<2>其他文件不能使用靜態(tài)函數(shù)。