C++ 类成员函数静态和私有

C++ 类成员函数静态和私有,c++,C++,让某个类成员函数(如f())同时具有私有和静态属性有意义吗? e、 g 谢谢 嗨,谢谢你的评论!好的,我知道了。是的,事实上,最初我开始使用 类中的静态函数,因为它们与类的对象无关- 我们在做其他的手术。现在我也意识到他们不必公开。 所以,我想我会让他们这样。 当我删除static关键字时,我开始出现一些错误(显然是因为它在整个类中的使用方式,所以我现在懒得修复它们,只会将其设置为私有并保留static:)。当然,有时。例如,同一类的公共静态方法使用的实用程序函数。是的,具有静态私有成员函数是有

让某个类成员函数(如f())同时具有私有和静态属性有意义吗? e、 g

谢谢

嗨,谢谢你的评论!好的,我知道了。是的,事实上,最初我开始使用 类中的静态函数,因为它们与类的对象无关- 我们在做其他的手术。现在我也意识到他们不必公开。 所以,我想我会让他们这样。
当我删除static关键字时,我开始出现一些错误(显然是因为它在整个类中的使用方式,所以我现在懒得修复它们,只会将其设置为私有并保留static:)。

当然,有时。例如,同一类的公共静态方法使用的实用程序函数。

是的,具有静态私有成员函数是有意义的。例如,它可能是仅由同一类的其他成员使用的无状态实用程序函数


不,你的课没有意义。由于
MyClass
没有其他成员,因此任何实体都无法看到您的
MyClass::foo

是的。例如:用于初始化或其他目的的私有静态成员函数


有关更多信息,请参阅本文:

绝对正确!想象一个纯静态的类,比如统计函数类。助手函数可以是私有的和静态的。

当然。您可以将其用于类的内部目的,例如在私有函数中

class A{
    public:
        static int i_;
private:
    void privatef(){hiden_i_++;}
    static int hiden_i_;
};

为什么不在CPP文件中的匿名命名空间中将函数声明/定义为自由函数?
class A{
    public:
        static int i_;
private:
    void privatef(){hiden_i_++;}
    static int hiden_i_;
};