C++中的static
全局標識符和非static
全局標識符有什麼區別?C++中靜態全局標識符和非靜態全局標識符之間的區別是什麼?
回答
靜態限制變量的範圍相同translation unit。
A static global variable has internal linkage。
A 非靜態全局變量有外部聯動。
如果一個非靜態的全局有外部鏈接,那麼'extern'有什麼用? – rubenvb
@rubenvb:你的Q的答案在鏈接內部進行詳細解釋。 –
@rubenvb'extern'意味着它是一個聲明而不是一個定義,就像函數的原型一樣。 –
如果你不知道其中的差別是什麼,正確的答案可能會變得更加令人困惑你。簡而言之,一個類的static
s不能在文件範圍內實現靜態。類的靜態與常規變量本質上相同,但它們必須通過在類名前加前綴來引用。文件範圍內的靜態文件只是文件本地的常規變量。爲了理解這意味着什麼,嘗試將兩個具有相同名稱的變量添加到單個項目中。你會得到鏈接錯誤,因爲有多個相同的符號。通過將符號設爲靜態,您將避免該問題,並且變量的名稱將無法從文件外部訪問。
- 1. 是什麼區別靜態和非靜態全局
- 2. 是否允許全局靜態標識符以單個_開頭?
- 3. 本地,靜態和全局函數之間的區別?
- 4. 靜態和全局變量之間的區別
- 5. 靜態變量和全局變量(Java)有什麼區別?
- 6. C++中的靜態和全局變量
- 7. Vertica中的全局唯一標識符
- 8. C/C++全球VS靜態全局
- 9. 全局和靜態雙值
- 10. C中的全局變量是靜態的還是非靜態的?
- 11. java中的非靜態全局變量
- 12. 靜態全局變量V靜態全局類變量
- 13. 靜態成員vs靜態全局
- 14. Swift中靜態函數和非靜態之間有什麼區別?
- 15. 靜態全局變量和靜態局部變量
- 16. Obj-C中的靜態全局變量?
- 17. SQL Server全局唯一標識符
- 18. Java中靜態變量和全局變量的區別
- 19. 靜態聲明和非靜態聲明之間的區別
- 20. c中的全局變量和靜態變量之間的差別
- 21. 使用未解析標識符'靜態'
- 22. 靜態全局對象
- 23. 內存中的靜態成員和靜態全局變量
- 24. 在PHP中,靜態變量和全局變量有什麼區別?
- 25. 爲什麼linux內核中的全局變量是靜態的?
- 26. 靜態類和非靜態類有什麼區別?
- 27. 靜態方法和非靜態方法有什麼區別?
- 28. 全局靜態/非靜態變量如何在c中被破壞?
- 29. c#繼承,靜態全局存儲
- 30. C:全局,靜態變量了解
「靜態全局」 - 你是什麼意思? – Andrzej
@Andrzej是一個全局變量,前綴爲'static'關鍵字。例如''static int x = 5;'在全局範圍內。 –