據我所知有兩種方式來聲明常數變量可見只有在一個文件中: 將靜態常量和常量聲明爲未命名的命名空間有什麼區別?
:在一個無名的命名空間namespace { const int VARIABLE = 1; }
- 聲明
static const int VARIABLE = 1
- 聲明它
那有什麼區別?
據我所知有兩種方式來聲明常數變量可見只有在一個文件中: 將靜態常量和常量聲明爲未命名的命名空間有什麼區別?
:在一個無名的命名空間namespace { const int VARIABLE = 1; }
static const int VARIABLE = 1
那有什麼區別?
'static'在之前的標準C++ 0x中被棄用。但是,對C++ 11標準進行了修正。基本上他們正在做同樣的工作(即靜態鏈接)。 http://stackoverflow.com/questions/4726570/deprecation-of-the-static-keyword-no-more – 101010