Board logo

标题: static作用是什么?在C和C++中有何区别? [打印本页]

作者: look_w    时间: 2019-4-12 14:44     标题: static作用是什么?在C和C++中有何区别?

static作用是什么?在C和C++中有何区别?

    static可以修饰局部变量(静态局部变量)、全局变量(静态全局变量)和函数,被修饰的变量存储位置在静态区。对于静态局部变量,相对于一般局部变量其生命周期长,直到程序运行结束而非函数调用结束,且只在第一次被调用时定义;对于静态全局变量,相对于全局变量其可见范围被缩小,只能在本文件中可见;修饰函数时作用和修饰全局变量相同,都是为了限定访问域。

    C++ 的static除了上述两种用途,还可以修饰类成员(静态成员变量和静态成员函数),静态成员变量和静态成员函数不属于任何一个对象,是所有类实例所共有。

    static的数据记忆性可以满足函数在不同调用期的通信,也可以满足同一个类的多个实例间的通信。

    未初始化时,static变量默认值为0。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0