C++ 函數內靜態靜態變量


#include <iostream>
using namespace std;

 

int& GetStaticVar() {
    static int a = 100;
    a++;
    return a;
}
int main(int argc, char const* argv[]) {
    cout << GetStaticVar() << endl;  // output:101
    int c = GetStaticVar();
    cout << c << endl;  // output:102
    c = c + 200;
    cout << c << endl;

 

    // 雖然函數返回的是局部靜態變量的引用,上一步驟也對該變量進行了改變,
    // 但是實際上,在再次調用該函數的時候,該引用變量的值,並沒有受到外部對該變量的修改而改變
    cout << GetStaticVar() << endl;  // output:103
}
 
結論:函數內靜態變量系統會自動賦初始值,並且只能在該函數內進行修改


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM