名前空間にローカルな関数と変数をきれいに宣言したいので、名前空間のメンバーだけがそれらにアクセスできます。C++関数/変数を名前空間のローカルにするにはどうすればよいですか?
ルアでは、これを行うために "local"キーワードを使用します(ファイル/関数内)。 C++で何か関連するものはありますか?
namespace wld {
const int wldDivis = 4;
void myFunc(){
// wldDivis constant used here
}
void myFunc2(){
// wldDivis also used here
}
}
// Somewhere later
wld::myFunc();
wld::myFunc2();
変数 "wldDivisが" しかWLD名前空間で使用されます。
EDIT
は、ここに私のコードの擬似C++サンプルです。他の人が私の関数の内部の仕組みにぶつかる可能性がある場合は、「強制的な不透明さ」として、どのようにして、ローカルの名前空間を外部の名前空間にローカライズするか/「見えないようにする」のですか?名前空間は適していますか?
IEにアクセスできない名前空間の外に?
多分 'static'キーワードは、あなたが望むものである、または匿名の名前空間 – user2807083
「名前空間へのローカル」。そんなことはない。名前空間が開いているので、とにかく役に立たないでしょう。任意の名前空間に独自の関数を追加できます。 –