在C++中,靜態(tài)分配內(nèi)存的方法有兩種:
- 使用棧內(nèi)存:在函數(shù)內(nèi)部聲明一個變量時,變量會被分配在棧內(nèi)存中。棧內(nèi)存是一種自動分配和釋放的內(nèi)存,變量的生命周期與其所在的函數(shù)相同。例如:
void func() {
int num = 10;
}
- 使用全局變量或靜態(tài)變量:全局變量和靜態(tài)變量在程序運行時會一直存在,它們的內(nèi)存分配在程序的數(shù)據(jù)段中。全局變量的生命周期是整個程序的運行期間,而靜態(tài)變量的生命周期是在其所在函數(shù)第一次被調(diào)用時創(chuàng)建,直到程序結(jié)束時銷毀。例如:
int globalNum = 20;
void func() {
static int staticNum = 30;
}