永发信息网

const与static的区别是什么?

答案:1  悬赏:30  手机版
解决时间 2021-01-26 08:53
const与static的区别是什么?
最佳答案
const 是常量, 也就是只读的, 是一个"右值"
比如
const int iRet = 2 ;
iRet = 3 ; // 这句是错的, const类型只能在初始化的时候赋值, 之后不能改变
static称为静态变量, static有两种, 一种是在类的成员变量中, 一种是局部变量或全局变量.
在类中的, 用代码解释
class exp {
static int i1 ;
int i2 ;
} ;
int main() {
exp e1 ;
exp e2 ;
e1.i1 = 5 ;
e1.i2 = 10 ;
e2.i1 = 15 ;
e2.i2 = 20 ;
cout << e1.i1 << endl ; //这是输出的会是15
cout << e1.i2 << endl ; // 这里输出是10
return 0 ;
}
类中的static变量的意思是, 在这个类的所有实例中的值都是一样的, 它与const不同, const 只是只读, 在其他方面与不带const的变量没什么区别
还有一种是const全局变量或局部变量, 这两种是相同的, 局部变量的作用域会和全局变量相同
上代码:
static int i1 ;
int add(int a, int b) {
static int c = a + b ;
return c ;
}
void main() {
add(5, 8);
int result = c ; //这里 result会是13 无论static变量 是全局的还是局部的, 作用域都和全局变量相同
cout<}

还有几点static的特点,(适用于static全局变量或局部变量)
1.static变量在全局数据区分配内存, 也就是 在生成的可执行文件中占一定空间, 这点与全局变量相同
2.static变量只在它所在的源文件中可用. 如果一个项目有很多 .c或者.cpp文件, static变量可以出现在每一个文件中, 而他们却是不同的, static可以解决许多文件中变量 名字相同的问题.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
文登考研(学院街店)怎么去啊,我要去那办事
有没有北京2008年纪念茶饼(勐库原生茶(普洱
一个游泳池内有水90立方米,设排尽全池水的时
放暑假时除了暑假作业老师又另外布置了好多作
老年人失眠吃什么中药调理
胆小怕事的男人可靠么?值得付出真心么?
合艺画室地址在什么地方,想过去办事
如何解决医患纠纷
我国领土南北跨越的纬度近CA. 40度B. 60度C.
求600字左右两篇文质兼美的文章,要题目
侠盗猎车手圣安地列斯自行车怎么加速
我是云南的,高中想要考重庆南开高中,想问几
成语韶华如驶的意思是什么啊?有知道释义的请
铬,在材料中怎么读,例如0Cr19Ni9?是GE还是LUO
与读者有关的词语
推荐资讯
成语水母目虾的意思是什么啊?有知道释义的请
求高一英语单词mp3外研社版下载地址,
壬辰年是哪一年,壬辰年是什么命
英语 on的英式读法。我会音标。当听音频还是
广州市朗昱琪商贸有限责任公司怎么样?
数字电视没台了,下方出现“E55 请保持调谐状
寻找13年中国传媒大学艺术研究院电影学影视制
如图,长方形的长为14厘米,宽为5厘米,求图中阴
QQ炫舞明明没有维护,但是就是上不去,显示维
成语言归正传的意思是什么啊?有知道释义的请
dnf为什么次元能量补充卷轴不能升级防具
已知AUG,GUG为起始密码,UAA、UGA、UAG为终止
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?