C++学习——static静态函数的用途

在C++中,static修饰函数有两种不同的含义和作用,取决于它是用于全局函数还是类成员函数。

静态局函数(Static Global Functions):

作用域限制:static修饰的全局函数只能在定义它的源文件中可见,无法被其他源文件访问。这样可以避免与其他文件中具有相同名称的全局函数发生命名冲突。
链接属性:static修饰全局函数具有内部链接属性,意味着它们只能在当前源文件中使用,无法被其他源文件引用。
静态成员函数(Static Member Functions):

独立于对象:静态成员函数不依赖于任何特定的对象实例,因此可以直接通过名调用,而无需创建对象。
类作用域静态成员函数属于整个类,而不是类的特定对象。它们可以访问类的静态成员变量和其他静态成员函数,但不能访问非静态成员变量和非静态成员函数。
共享数据:静成员函数可以访问和修改静态成员变量,这些变量在所有类对象之间共享。这使得静态成员函数适合用于执行与类相关的全局操作或共享数据的管理。
无this指针:静态员函数没有隐含的this指针,为它们不依赖于对象例。这也意味在静态成员函数中无法直接访问非态成员变量和非静态成员函数。
总结:

static修饰全局函数用于限制其作用域和链接属性。
static修饰类成员函数使其独立于对象,可以通过名直接调用,并且可以访问和修改静态成员量。

你可能感兴趣的:(c++,学习)