静态成员功能和全局功能之间有什么不同

What is different between static member function and global function?

本文关键字:功能 什么 之间 全局 静态成员      更新时间:2023-10-16

静态成员函数和全局函数之间有什么不同?

void globalFunc()
{
}
class Test
{
  public:
    //In grammar side, object's not own this function
    static void staticFunc(); 
};

静态成员函数是全局函数,但可以分类为含义并限制访问范围。

,但我不明白为什么静态成员函数的调用惯例是一个[这个呼叫]。

我知道正常的成员函数必须是[此调用],因为它必须需要呼叫者对象的地址,但是,为什么静态成员函数具有此调用约定?我认为它不需要呼叫者的地址,因为它不是对象的功能。静态成员函数和全局功能之间有区别吗?(不是语法侧而不是低侧)

静态类功能

  • 访问私人和受保护的静态数据成员。
  • 访问私人和受保护的静态功能。
  • 如果静态函数具有类的实例。
  • 如果静态函数具有类的实例。
  • 基础类中同名的影子功能。
  • 访问受保护的数据和基础类别的功能。

全局非朋友功能无能为力。