1
我已經有了一些嵌入式C++代碼,這些代碼目前以非常類似C的方式編寫,並且我想將其轉換爲使用命名空間以實現更好的代碼組織。目前我隱藏我的私人文件範圍功能和變量在匿名命名空間,但我不知道在哪裏隱藏它使用這種新的模式。我仍然應該使用匿名命名空間,還是將它添加到.cpp文件中的命名空間,而不是足夠的頭文件以防止外部訪問?使用C++命名空間的文件範圍數據
更具體地說,我有代碼看起來像這樣:
UI.h
#ifndef UI_H
#define UI_H
//Public data declarations
extern int g_UiPublicVar;
//Public function declarations
void UI_PublicFunc();
#endif
UI.cpp
#include "UI.h"
//Private data and functions
namespace
{
int m_PrivateVar = 10;
void privateFunc()
{
//Do stuff!
}
}
//Public data definitions
int g_UiPublicVar = 10;
//Public function definitions
void UI_PublicFunc()
{
m_PrivateVar++;
privateFunc();
}
...我我想重組它看起來像這樣:
新UI.h
#ifndef UI_H
#define UI_H
namespace UI
{
//Public data declarations
extern int publicVar;
//Public function declarations
void publicFunc();
}
#endif
新UI.cpp
#include "UI.h"
namespace UI
{
//Public data definitions
int publicVar = 10;
//Public function definitions
void publicFunc()
{
m_PrivateVar++;
privateFunc();
}
}
...我應該在哪裏把m_PrivateVar和privateFunc()?
在嵌套的匿名命名空間中? – Christophe 2015-02-07 17:08:42