在C ++中,我在类中有一个静态成员变量。
然后我将这个静态成员变量传递给struct初始化数组。现在我的问题是结构中该成员的价值消失了。
请解释我是否遗漏了对静态成员变量的一些理解。静态成员是否有传递其自身值的限制?
请建议。
非常感谢
答案 0 :(得分:1)
静态成员变量类似于常规全局变量,除了:
它的名称范围是它所属的类的名称。该类的作用类似于命名空间,但功能更强大,因为它可以在模板中使用。
它可以是受保护的或私有的,在这种情况下,只有那些有权访问该类的人才能访问该成员。
有一个这样的实例,而不是每个对象一个。
私有静态成员变量通常可以替换为" hidden"类的编译单元的匿名名称中相同类型的变量。这是一个更好的选择,因为您不需要在标题中公开您的类的实现(这通常是私有成员)。
提供一个重复错误的示例会很有用,这样我们就可以确切地看到您要做的事情以及它为什么不起作用。