怎样理解静态变量和静态函数?

如题所述

c和c++里面的变量有静态和动态的,静态的是static,普通的定义都是动态的,静态和动态的差别在于变量在程序中的生命周期,静态变量存在整个程序或者相应的比较长时间的子程序中(多个.cpp文件时存活于当期的子程序中)。而动态变量一般只存在于当前的函数中,生命周期仅限于当前的函数(注意区别函数和程序)。
静态函数主要在c++中使用的比较多,一般在函数之前声明。
举例说明:
#include <iostream>
using namespace std;
class Student //定义Student类
{public:
Student(int n,int a,float s):num(n),age(a),score(s){ } //定义构造函数
void total( );
static float average( ); //声明静态成员函数
private:
int num;
int age;
float score;
static float sum; //静态数据成员
static int count; //静态数据成员
};
这就是静态函数和静态变量的声明。
函数调用的结果不会访问或者修改任何对象(非static)数据成员,这样的成员声明为静态成员函数比较好。
其他的一些不太容易说明,有机会再来整理说一下。
希望这些能对你有所帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-09
静态变量……就是一个当Main()函数运行便已经存在于内存中的一个变量,这个变量可以被读取被修改,但只会直到程序结束而释放。
静态函数……静态函数?好吧……静态函数也是当Main()函数运行之前便已经编译好存在于内存中,之后在其他函数里可以调用。C#里面好像规定动态函数只允许调用静态函数,反之不可。这就是牵扯一个声明顺序的问题了……
相似回答