ToB企服应用市场:ToB评测及商务社交产业平台
标题:
【C++】static 知识整理 【静态与局部静态】
[打印本页]
作者:
火影
时间:
2024-12-11 16:47
标题:
【C++】static 知识整理 【静态与局部静态】
目次
类外
类内
局部静态 local static
类外
类内
类外
C++的静态可以分为两种情况来讨论:在类外和在类内。
对于静态变量/函数,链接将只在内部 (假如不消static,那么在差别文件界说同名变量会报错)
声明界说在其他地方的变量必要使用extern,函数则不必要
类内
静态变量/方法将与类的所有实例共享内存 (若实例改变静态变量,那么会反应到这个类的所有实例)
静态方法无法访问类的实例和非静态变量(类中的每个非静态方法总是得到当前类的一个实例作为参数,而静态方法不会得到谁人隐藏参数,其与在类外部编写方法相同)
类内的静态变量必要在类外声明:int Class::var;
以上有关静态的使用比较简单和常见,因此仅简单先容,接下来我们看一个特殊一些的情况:局部静态
局部静态 local static
局部静态变量的生存期基本上相当于整个步调的生存期,而作用范围被限制。
(补充:变量的生存期:变量实际存在的时间(被删除之前);变量的作用域:可以访问变量的范围)
类外
以前,博主刷一些C++题的时候习会可能写出以下代码:
[code]#includeint n = 0;void Function() { n++; std::cout
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4