zoukankan      html  css  js  c++  java
  • static关键字的功能

    转载:https://blog.csdn.net/guotianqing/article/details/79828100

    C语言&C++

    1、局部变量

    如果在一个函数内部定义了一个静态变量,只给它赋值一次,如果它没有初始值,默认初始值为0,第二次调用函数的时候就不在定义它(即只定义一次)。

    静态局部变量的作用范围是函数的作用域内。

    eg:

    #include<stdio.h>
    void f()
    {
        static int num=1;
        printf("%d ",num++);
    }
    int main(void)
    {
        int i,n=3;
        while(n--)
        {
            f();
        }
        return 0;
    }
    View Code

    运行结果:1 2 3 

    2、全局变量

    如果定义在函数外面作为全局变量,编译器会对它初始化,

    这个变量仅对当前文件可见,其他文件不可访问,但其他文件可以定义与它相同名称的变量(作用:避免冲突)

    3、函数

    (1)静态函数只在声明它的文件中可用,其他文件不可用

    (2)不同的文件可以定义相同的静态文件名称,互相不影响。

    面向对象:

    1、静态数据成员:

    (1)是全局变量,不能再类定义时声明

    (2)静态数据成员是类的成员,对所有类的成员都可见

    (3)遵从public,private,protect的规则

    (4)访问方式:<类对象名>.<静态数据成员名> 或 <类类型名>::<静态数据成员名>

    2、静态成员函数

    (1)属于整个类,不属于某一个成员函数

    (2)没有this指针,无法访问非静态成员函数

    (3)出现在类外的成员函数不能用static

    (4)非静态成员函数可以随意的访问所有静态成员函数。

  • 相关阅读:
    强制转换改变了对象的框架大小
    android应用程序fps meter[帧数显示]的分析 —— 浅谈root的风险 (1)
    父类virtual和overload,子类reintroduce; overload;
    MySQL版本与工具
    Verilog HDL实用教程笔记
    XE2安装JVCL
    解决Raize日历控件显示的问题
    hdu3415 Max Sum of Max-K-sub-sequence
    MFC重绘原理的关键理解
    常用代码页与BOM
  • 原文地址:https://www.cnblogs.com/2018zxy/p/10075507.html
Copyright © 2011-2022 走看看