C++,C面试大全

static用法

1.局部静态变量

1.1生命周期即存储控件分配

无论在C还是C++中,局部变量主要分为auto和static俩种类型,其中默认类型为aotu类型,该类型的存储空间在计算机的栈上也就是动态存储空间,也就是只要出了作用域空间,生命周期就会结束。加上static之后,该局部变量就会成为静态局部变量。该变量的存储空间也会发生变化,存储空间会变为计算机的堆上,此时该局部变量的生命周期就会发生本质的变化,在程序的运行期间,该变量的生命空间会一直存在。

2.静态数据成员以及成员函数(C++独有)

静态数据成员以及成员函数,其实用一句最核心的话:静态数据成员以及成员函数只属于类,而其他数据成员以及成员函数属于类所生成的对象。举个例子:如果想要知道一个类new了多少对象,就可以使用static来实现。对于静态数据变量来说,在内存中只有一个副本,普通成员函数进行调用的时候需要传入this指针。对于静态成员函数来说是没有this指针的。

3.外部静态成员以及成员函数

关于在外部静态成员以及成员函数。理解来说,无论在C中还是C++中都会适用,不过就使用的实际情况来说,主要使用在C中,主要是为了限制别的文件对此文件中加了static的外部静态成员以及成员函数的访问。

原文地址:https://www.cnblogs.com/qinzhikai/p/9718921.html