我正在製作一個靜態庫,其中定義的所有東西都在一個名稱空間中。但我不確定是應該像定義一個類一樣定義方法,還是將它們包裝在命名空間中。我要問的是:頭文件聲明和源代碼定義的C++命名空間
這是有效的:
MyThings.h
namespace MyThings {
void DoStuff();
void DoOtherStuff();
}
MyThings.cpp
namespace MyThings {
void DoStuff() {
// Do this.
}
void DoOtherStuff() {
// Do that.
}
}
或者,我應該把它定義像我想的類方法?:
MyThings.cpp
void MyThings::DoStuff() {
// Do this.
}
void MyThings::DoOtherStuff() {
// Do that.
}
我不希望使用using namespace MyThings;
,我寧願使用我的第一個例子,如果它是有效的,我覺得它使代碼更具可讀性,而不必在每個方法標識符前使用MyThings::
。
兩者都有效。 –
這兩種變體的效果都很好。這取決於你的想法。 –
相關(並提供第三個選項的討論):http://stackoverflow.com/questions/10928686/best-practices-using-namespace-or-reopen-namespace –