#include <iostream>
using namespace std;
static void display()
{
int i=1;
cout<<"i="<<i<<endl;
i++;
}
void main()
{
for(int z=1;z<=10;z++){
display();
}
}
这个的程序的结果是10次:1
如果把display()函数改为
void display()
{
static int i=1;
cout<<"i="<<i<<endl;
i++;
}
结果是:1,23......10
请高数解答其中的奥妙!谢谢、。。。
c++ const和static有什么区别?
static的作用是把一个变量(这里的变量和上面说的概念一样,都是泛指)设置为“静态”。一般情况下,我们在子程序中定义的变量,在这个子程序运行 结束的时候都会被销毁,其值就丢失了。如果用了static,则这个变量的值在子程序结束后依然被保留 。这个变量是否被销毁我不知道,但其值肯定被保留了。当...
static 变量 和 static 函数各有什么特点
1)、变量放程序全局存储区调用候保持原赋值点与堆栈变量堆变量区别 2)、变量用static告知编译器自仅仅变量作用范围内见点与全局变量区别 Tips:A.若全局变量仅单C文件访问则变量修改静态全局变量降低模块间耦合度;B.若全局变量仅由单函数访问则变量改该函数静态局部变量降低模块间耦合度;C.设计使用访问态...
const与static有什么区别
static 是c++中非常常用的修饰符,他被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全方面分析static 修饰符的实质。static 的两大作用:一、控制存储方式:static被引入以告知编译器,将变量存储在程式的静态存储区而非栈上空间。1、引出原因:函数内部定义的变量,...
static 变量 和 static 函数各有什么特点
那么在函数内声明的静态变量和函数中的局部变量有什么区别呢?区别就是静态变量只有第一次运行函数的时候被创建,并且在函数结束的时候不会消亡;而普通的成员在函数结束的时候就会在内存中退栈消亡。说了那么多,举个例子:\/\/ex_1.c void fun_1 (){ static int a = 0;a ++;printf ("%d",a)...
static const和const static的区别
对于C\/C++语言来讲,const就是只读的意思,只在声明中使用;static一般有2个作用,规定作用域和存储方式.对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放;对于全局变量,如果以文件划分作用域的话,此变量只在当前文件可见;对于static函数也是在当前模块内...
C++中“实例”是什么意思?另外提问关于static和const的区别。
static静态型,可以定义变量或函数等,表明这个部分是计算机不能动态搬 移的,需要固定地址使用,比如在函数内开设了一个静态变量a,那么你在函数 中多次操作这个a,它的值都会一直被记录下来,不会随函数退出而丢失。比如 可以用来记录本函数被调用了多少次。const常量型,只读型数据,不允许写操作(重新...
c++中的常量和静态有什么区别?
常量是说:“不能修改!或强烈建议别修改!”,const仅说明变量(或者函数)的不可修改性(或不修改别人)。静态是说:“它是在静态数据区的变量”,static影响变量的作用域和存储域。实际上,C++标准不赞成在名称空间和全局作用域中使用关键字static(该标准使用“不赞成”表明,这种做法,目前合法,但...
c++ const static和static const有什么区别?
static 分几中情况。1。限定定义类成员时表明该成员是所有该类对象共享的,只有一个,而不属于某个特定的对象。所以要这样引用 classname::varname;2。限定非类成员的变量时,只定义一次,忽略重复的定义。相当于全局变量,const static 与 static const 相同,意义就是把2者结合...
如何理解c++中的关键字static,const,以及#define在定义
static含义复杂,有三种含义:应用于全局变量时,表示每个编译单元独立实例化变量。若分别编译foo.cpp与bar.cpp后链接,全局变量a将有两份,分别由函数各自操作。应用于函数内局部变量,表示其生存周期为全局,但在函数内可见。每次函数调用,将获得不同的int值。初始赋值操作仅在首次调用时执行。应用于类...
在线等待:关于C++中static和const的区别.
一个变量按存储方法分为auto static register extern四种。其中static可以声明局部变量也可以声明全局变量。当声明局部变量时表示局部变量的值在函数调用结束时不消失而保留原值。const表示只读,被其限定的标量不能改变,但在函数调用结束时消失。const int a;(称谓常变量)这种写法有点问题。当定义常变量...