#include<iostream>
using namespace std;
int &fun()
{
static int x = 10;
return x;
}
int main()
{
fun() = 30;
cout << fun();
return 0;
}
當上面的程序運行時,輸出爲30,返回整型變量x,作爲main()函數的引用並賦值30.但不是x的範圍侷限於fun()函數嗎?如果是這樣,爲什麼我們能夠在主函數中改變它的值?C++中靜態局部變量的作用域和使用壽命
是程序結束的一生嗎?我認爲編譯器使用邏輯或什麼不是,在安全之後或不可能使用時清理。 –
@marshalcraft這將是有趣的,但編譯器難以分析和容易出錯。編譯器編寫者的生活很困難,沒有布朗尼分數。 –
ha所有這些整數以及程序生命中不存在的內容。 –