簡體   English   中英

C ++命名空間和靜態變量

[英]C++ namespace and static variables

我有一個要求,其中一個(const)變量應該在整個cpp中可用,它由幾個類組成。 我決定使用命名空間來解決問題,但不確定以下內容:

  • 我需要將此變量定義為靜態嗎?
  • 只有當我使用未命名的命名空間時,我才能避免使變量變為靜態嗎?
  1. 您不需要將變量定義為靜態,也不需要在匿名命名空間中定義。 但是,如果您沒有在其定義的文件之外使用此對象,那么減少名稱空間污染和加速鏈接(通過減少鏈接器需要考慮的符號數量)是一個好主意。
  2. 如果在匿名命名空間中聲明變量,它將是有效的靜態。 實際上也沒有必要讓它靜止(盡管如果你願意,你也可以)。 匿名命名空間的優點是您還可以定義類型(類,結構,枚舉,類型定義)以及靜態變量和函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM