全域性變數為什麼建議少用,在模組化程式設計中,為什麼不提倡使用全域性變數

時間 2022-05-23 07:35:09

1樓:學習方法與心理疏導

1.由於全域性變數,程式執行期間,始終占有那塊儲存區,所以空間利用率比較低,大量的全域性變數,很快就會把記憶體用光,所以要少用全域性變數;

2.全域性變數由於每個函式都可以使用,所以任何乙個函式的修改,如果修改了全域性變數,都有可能影響到其他函式,所以不利於除錯。

2樓:匿名使用者

全域性變數並不是乙個比較好的程式設計習慣,當程式比較大時,函式比較多時,變數名比較多時,變數的定義也要格外小心,全域性變數的作用域是整個檔案及包含該檔案的檔案,一定程度上會破壞乙個個函式或者模組的獨立性,正常情況下能不使用最好不用,當然也有很需要全域性變數的時候,也可以考慮是否可以定義static變數來代替

3樓:水上漂湯

我可以明確告訴你,你了解到的只是「c風格的c++」,除了輸入輸出用cin和cout,你的程式可以完全看成是c語言程式。

c++程式設計師避免使用指標和陣列,這兩者都是低階操作,而且陣列和指標也不安全,陣列越界,指標指向被釋放的空間等都是有隱患的操作。指標和陣列可以用標準庫的容器和迭代器替代,這是最佳的做法。

c++是物件導向程式設計,全域性變數會破壞「封裝」特性:如果物件是全域性的,一般的使用者**就可以修改這個值。所以,類應該定義類靜態成員,而不是定義乙個可普遍訪問的全域性物件。

在模組化程式設計中,為什麼不提倡使用全域性變數

4樓:匿名使用者

模板設計要求內聚性高,耦合度低,全域性變數增加了模組之間的耦合度。。

5樓:四念住

全域性,就是public.大家都能用.而且要看變數是否真的需要全域性.如果不需要,最好,因為全域性變數如果在多執行緒裡使用的話,還要同步.

主要是封裝思想的緣故.能隱藏就隱藏.避免外部過多牽扯.

6樓:

動態性賦值,把握不准,容易導致系統崩潰

全域性變數和區域性變數有什麼區別,全域性變數 靜態全域性變數 靜態區域性變數和區域性變數的區別

全域性變數的作用域是到應用程式結束 區域性變數的作用域是程式或函式執行結束 靜態變數是用static 將區域性變數的值保留下來,知道應用程式結束為止。只要在宣告變數的開始用static命令,變數就會自動變成靜態變數 全域性變數 靜態全域性變數 靜態區域性變數和區域性變數的區別 c 變數根據定義位置的...

全域性變數和區域性變數的區別是什麼?

如下 1 作用域不同 全域性變數的作用域為整個程式,而區域性變數的作用域為當前函式或迴圈等。2 記憶體儲存方式不同 全域性變數儲存在全域性資料區中,區域性變數儲存在棧區。3 生命期不同 全域性變數的生命期和主程式一樣,隨程式的銷毀而銷毀,區域性變數在函式內部或迴圈內部,隨函式的退出或迴圈退出就不存在...

js中為什麼全域性變數在方法中無法使用

我相信大多數人都是把提到裡面去,這樣以來格式工整,心情舒暢,強迫症患者酣暢淋漓。但是不幸的是html 執行順序是自頂向下的,如果你只是定義普通的變數型別倒無所謂,一旦涉及到element就慘了,裡的元素還沒被載入出來,js語句就已經執行完了。然後你測試就會發現,你定義的元素變數,全部返回null,根...