C++之变量的作用域,生存期,可见性
生活随笔
收集整理的這篇文章主要介紹了
C++之变量的作用域,生存期,可见性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作用域是表示某個標識符在什么范圍內有效;
可見性是指標識符是否可見,可引用;
生存期,是指程序中的簡單變量和類的對象,它們同自然界中的萬物一樣。也有自己的產生和消亡的生存期,變量和對象的生存期包含靜態生存期和動態生存期。具有靜態生存期的變量和對象,它們的生存期和程序運行相同;除了具有靜態生存期的變量和對象,其余的變量和對象則具有動態生存期。具有動態生存期的變量和對象,它們處于被聲明處產生,于自身的作用域結束處釋放。
全局變量有文件作用域,也就是說,在整個文件作用域中,除了定義了同名局部變量塊以外的其他地方(可見性問題),都可以直接引用全局變量;局部變量就是 具有塊作用域的對象。
局部變量也可以有靜態生存期,靜態局部數據的生存期并不與局部作用域一致,它的生存期一直延續到程序運行結束。它產生于所在的函數第一次被調用、該局部靜態變量被創建時。函數返回時,靜態局部變量處于不可訪問的休眠狀態。當再次調用該函數時,靜態局部變量又蘇醒過來,處于可訪問狀態,與動態局部變量的區別在于,靜態局部變量蘇醒時,并不需要初始化,而是保持上次休眠狀態開始之前的值。
可見性與作用域的區別:幾乎是一樣的,沒有太大的區別,變量的作用域影響著變量的可見性。例如,內外層同時定義同名變量,則外層變量對于內層來說就是不可見的。
總結
以上是生活随笔為你收集整理的C++之变量的作用域,生存期,可见性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++类的基本学习知识
- 下一篇: matlab根据结构体数组,用邻接矩阵和