gpt4 book ai didi

深入浅析c/c++ 中的static关键字

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章深入浅析c/c++ 中的static关键字由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

static关键字 。

1,static 成员变量 。

static 成员变量不随着对象的创建而开辟内存空间。也就是说,不管从哪个对象去看static成员变量,都是一样的.

2, static 成员方法 。

static 成员方法里不可以调用非static 成员方法.

非static 成员方法里可以调用static 成员方法.

原因:非static 成员方法里是没有this指针的,所以在里面调用非static 成员方法时,无法传递this指针。static 成员方法不需要this指针.

重点:初始化static成员变量,要在类的外面.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
class Test{
  friend void fun( const Test &t);
public :
  Test( int d = 0) : data(d){
   count++;
  }
  ~Test(){
   count--;
  }
private :
  int data;
  static int count;
};
void fun( const Test &t){
  cout << t.data << endl;
  cout << Test::count << endl;
}
//初始化static成员变量
int Test::count = 0;
int main(){
  //int Test::count = 0;//编译不过,必须在外面初始化static成员变量
  //Test::count = 0;//编译不过,必须在外面初始化static成员变量
  Test t(10);
  fun(t);
  Test t1(11);
  fun(t1);
}

总结 。

以上所述是小编给大家介绍的c/c++ 中的static关键字,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。

原文链接:https://www.cnblogs.com/xiaoshiwang/archive/2018/08/20/9505284.html 。

最后此篇关于深入浅析c/c++ 中的static关键字的文章就讲到这里了,如果你想了解更多关于深入浅析c/c++ 中的static关键字的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com