117.info
人生若只如初见

c++中static的作用是什么

在C++中,static关键字有以下几种作用:

  1. 静态变量:在函数内部声明的静态变量在程序运行期间只被初始化一次,并且在函数运行结束后仍然保留其值,下次再调用该函数时将继续使用上次的值。
void func() {
static int count = 0; // 静态变量
count++;
cout << count << endl;
}
int main() {
func(); // 输出 1
func(); // 输出 2
return 0;
}
  1. 静态函数:静态函数属于类的成员函数,它只能访问类的静态成员变量和其他静态函数,而无法访问非静态成员变量和非静态函数。静态函数不依赖于任何对象的创建,可以直接通过类名调用。
class MyClass {
public:
static void staticFunc() { // 静态函数
staticVar = 10; // 可以访问静态成员变量
//nonStaticVar = 20; // 无法访问非静态成员变量
}
static int staticVar; // 静态成员变量
private:
int nonStaticVar; // 非静态成员变量
};
int MyClass::staticVar = 0; // 初始化静态成员变量
int main() {
MyClass::staticFunc(); // 调用静态函数
cout << MyClass::staticVar << endl; // 输出 10
return 0;
}
  1. 静态成员变量:静态成员变量属于类的成员变量,它在程序运行期间只被初始化一次,并且在类的所有对象之间共享。可以通过类名或对象名来访问静态成员变量。
class MyClass {
public:
static int staticVar; // 静态成员变量
};
int MyClass::staticVar = 0; // 初始化静态成员变量
int main() {
MyClass obj1;
MyClass obj2;
obj1.staticVar = 10; // 通过对象访问静态成员变量
cout << obj2.staticVar << endl; // 输出 10
cout << MyClass::staticVar << endl; // 输出 10
return 0;
}

总结来说,static关键字可以用于创建静态变量、静态函数和静态成员变量。静态变量在函数内部只初始化一次,并且保留其值;静态函数只能访问静态成员变量和其他静态函数,不依赖于对象的创建;静态成员变量在类的所有对象之间共享。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe9e8AzsLBAZRB1w.html

推荐文章

  • C++友元函数怎么调用

    在C++中,友元函数可以直接调用,不需要通过对象或类的实例来调用。友元函数可以在类的内部声明和定义,它可以访问类的私有成员和保护成员。
    以下是一个示例...

  • C++友元函数如何进行多数据之和

    友元函数可以访问类的私有成员,所以可以使用友元函数来实现多数据之和。
    假设有一个类A,它的私有成员变量有a、b、c,我们可以定义一个友元函数sum,来计算...

  • C++友元函数的作用是什么

    C++友元函数的作用是允许一个函数访问一个类的私有成员和保护成员。通常情况下,只有类的成员函数可以访问类的私有成员和保护成员,但是有时候我们需要在类外部定...

  • c++赋值运算符重载的方法是什么

    C++中赋值运算符重载的方法是通过重载赋值运算符(=)来实现的。赋值运算符重载允许在自定义类中使用赋值运算符进行对象之间的赋值操作。
    赋值运算符重载的...

  • CSS布局display属性有什么功能

    CSS的display属性用于指定元素的显示方式。它有以下几个常用的取值: block:元素将被显示为块级元素,独占一行,默认情况下宽度自动填充父元素的宽度。 inline:...

  • css中Style tableLayout属性有什么用

    tableLayout属性用于设置表格的布局方式。
    该属性有两个值可选: auto(默认值):表格的布局由浏览器自动决定。浏览器会根据表格内容自动调整列宽度以适应...

  • c++抽象类怎么定义及使用

    C++中的抽象类是指含有纯虚函数的类,它不能被实例化,只能被继承。抽象类用于定义一个接口,具体的实现由派生类完成。
    抽象类的定义通常包括以下几个步骤:...

  • ubuntu设置共享文件夹的步骤是什么

    在Ubuntu上设置共享文件夹的步骤如下: 安装samba软件包:在终端中运行以下命令安装samba软件包: sudo apt-get install samba 创建共享文件夹:在终端中运行以下...