ここで他の質問を読んでいて、混乱しているものがあります。うまくいけば説明できます。単純なことだと思いますが、それは私をほのめかしています。
したがって、C++ には、クラス内でのみ表示可能なプライベート変数があります。
class MyClass
{
private:
int i;
};
しかし、名前のない名前空間を持つこともできます:
namespace
{
int i;
}
どちらもクラスに対してプライベートであるように見えますが、2 番目のケースでは、ヘッダー ファイルからそれらが存在することを確認できません。他の質問を読むと、クラスオブジェクトを渡すことができないため、関数が異なるようです? しかし、ここで変数の違いが何であるかはわかりません。
プライベート変数を引き続き使用する必要があることを意味する2番目の方法に欠点はありますか?