在C++中,static關(guān)鍵字可以用于以下幾個(gè)方面:
在函數(shù)內(nèi)部使用static修飾局部變量:當(dāng)static修飾局部變量時(shí),該變量的生存周期會(huì)延長(zhǎng)到整個(gè)程序運(yùn)行期間,而不是僅在函數(shù)執(zhí)行期間存在。這意味著每次調(diào)用函數(shù)時(shí),該變量的值都會(huì)被保留,而不會(huì)重新初始化。
在函數(shù)外部使用static修飾全局變量:當(dāng)static修飾全局變量時(shí),該變量的作用域僅限于聲明它的文件內(nèi)部,其他文件無(wú)法訪問(wèn)該變量。這樣可以避免不同文件之間的命名沖突。
在類中使用static修飾成員變量:當(dāng)static修飾類的成員變量時(shí),該變量被稱為靜態(tài)成員變量,它屬于整個(gè)類而不是類的實(shí)例。靜態(tài)成員變量在類的所有實(shí)例之間共享,可以通過(guò)類名直接訪問(wèn)。
在類中使用static修飾成員函數(shù):當(dāng)static修飾類的成員函數(shù)時(shí),該函數(shù)被稱為靜態(tài)成員函數(shù),它不屬于類的實(shí)例,而是屬于類本身。靜態(tài)成員函數(shù)可以直接通過(guò)類名調(diào)用,而不需要?jiǎng)?chuàng)建類的實(shí)例。
總的來(lái)說(shuō),static關(guān)鍵字可以用于修飾變量和函數(shù),它的作用是改變它們的作用域、生存周期或者訪問(wèn)方式。