C 在函式中用static定義的變數的

2021-07-07 07:15:39 字數 593 閱讀 7886

在c++中,在函式中使用static定義乙個變數,該變數最終只會分配一次記憶體,如果下次繼續呼叫該函式,不會再重新分配記憶體給變數,而是使用上次分配的記憶體。

#include

using

namespace

std;

class staticver

};int * staticnum()

staticver * staticobj()

int main(void )

getchar();

}

執行這段**,我們會得到如下結果:

staticnum addr 總是指向位址0094e000

staticobj addr 總是指向位址0094e2c8

staticnum

addr

:0094e000

staticobj

addr

:0094e2c8

最後程式執行截圖

在c 中用const函式過載

今天寫作業是遇到需要呼叫const物件中的函式,因為是const,所以成員函式無法訪問,需要進行過載 nodeiteratorbegin 如上所示的函式,我需要在const情況下呼叫,正確的寫法 nodeiteratorbegin const之前網上查到的規則是 c 函式過載 1 函式名稱必須相同。...

static 函式 C 中的static

函式中的靜態變數 當變數宣告為static時,空間將在程式的生命週期內分配,其被存放在在全域性資料區。即使多次呼叫該函式,靜態變數的空間也只分配一次,前一次呼叫中的變數值通過下一次函式呼叫傳遞。這對於在c c 或需要儲存先前函式狀態的任何其他應用程式非常有用。ps 對於乙個完整的程式,在記憶體中的分...

標頭檔案中用static定義全域性變數的問題

cocos3.13前的版本中,一些全域性變數使用static 定義,研究了static定義全域性變數的優缺點。例如定義下面的標頭檔案 pragma once static int globle 0 static int image 省略 在其他原始檔中,引用cocos.h標頭檔案後,每個原始檔都會儲...