C++里的static

  1. 静态成员函数
    静态成员函数的作用在于:调用这个函数不会访问或者修改任何对象(非static)数据成员。
    静态成员函数不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员
    静态成员函数没有this指针,它无法访问属于类对象的非静态数据成员,也无法访问非静态成员函数,它只能调用其余的静态成员函数
    非静态成员函数可以任意地访问静态成员函数和静态数据成员
  2. 静态函数
    static函数与普通函数的区别是:用static修饰的函数,限定在本源码文件中,不能被本源码文件以外的代码文件调用。而普通的函数,默认是extern的,也就是说它可以被其它代码文件调用
    与全局变量类似
  3. 全局静态变量
    静态全局变量仅对当前文件可见,其他文件不可访问
  4. 局部静态变量
    静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0。且静态局部变量存储于进程的全局数据区,即使函数返回,它的值也会保持不变。
  5. 静态成员变量
    静态数据成员也遵从public, protected, private访问规则
    同全局变量相比,使用静态数据成员有两个优势:
    1.静态数据成员没有进入程序的全局名字空间,因此不存在与程序中其它全局名字冲突的可能性
    2.可以实现信息隐藏。静态数据成员可以是private成员,而全局变量不能

其他https://blog.csdn.net/fanyun_01/article/details/51422357

发布了21 篇原创文章 · 获赞 0 · 访问量 382

猜你喜欢

转载自blog.csdn.net/weixin_41605876/article/details/104827609