#討論 C/C++ static keyword

最近剛好複習到static的一些基本用法,依稀記得某次專題寫了一堆static變數,在Demo的時候被老師罵慘,憶起往事又去google了一些相關資料,發現很多人覺得static非常邪惡(evil),一些明顯的缺點像是: A. 對C++來說,違反OO,無法封裝 B. 生命周期過長,和整個program相同(感覺有點像new完但沒有delete?) 我想問的問題是: 1. static還有什麼缺點或隱憂嗎? 2. static變數和全域變數的差別在哪?看到有人說static變數在哪都可以被改;又有人說把static變數放在函式裡就不會污染函式外的空間。這兩者沒有衝突嗎? 3. static關鍵字(變數、函式、成員函式)有哪些適合使用,不那麼邪惡的情況嗎?
愛心
1
10
全部留言