我一直在阅读这里的其他问题,有些事情让我感到困惑,希望可以得到解释。我确信这是一件简单的事情,但它暗指我。
因此,在 C++ 中,我们有只能在类中查看的私有变量:
class MyClass
{
private:
int i;
};
但我们也可以有未命名的命名空间:
namespace
{
int i;
}
两者似乎都是类私有的,但在第二种情况下,您无法从头文件中看到它们存在。从阅读其他问题看来,功能是不同的,因为您不能将类对象传递给它们?但我不确定变量的区别是什么。
第二种方式是否有缺点,这意味着您仍然应该使用私有变量?