深入浅析c/c++中的static关键字-创新互联

static关键字

创新互联建站主营播州网站建设的网络公司,主营网站建设方案,手机APP定制开发,播州h5成都微信小程序搭建,播州网站营销推广欢迎播州等地区企业咨询

1,static 成员变量

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

2, static 成员方法

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

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

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

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

#include 
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);
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:深入浅析c/c++中的static关键字-创新互联
转载来源:http://azwzsj.com/article/phogs.html