C++中变量的作用域和生命周期
来源:互联网 发布:知乎 竖肩章 编辑:程序博客网 时间:2024/04/24 18:15
#include "iostream.h"void main(){ int m=1,n=2,k=3; cout<<"m="<<m<<"n="<<n<<"k="<<k<<endl; cout<<"m="<<1<<"n="<<2<<"k="<<3<<endl; { //重新声明了n值,因此此层中的n相当于一个新的变量,对外层无影响 int n=4; m++; k+=4; //下面代码块重新声明,其实可以看做独立出来的一部分,不影响其他模块 { //没有声明n值,继续使用上一层的n值 int m=3,k=3; cout<<"m="<<m<<"n="<<n<<"k="<<k<<endl; cout<<"m="<<3<<"n="<<4<<"k="<<3<<endl; } k+=5; m-=4; cout<<"m="<<m<<"n="<<n<<"k="<<k<<endl; cout<<"m="<<-2<<"n="<<4<<"k="<<12<<endl; } //此处的m,k值继续其内一层的模块值,n为最外层的值,因为上一层中声明了n m+=2; n++; k--; cout<<"m="<<m<<"n="<<n<<"k="<<k<<endl; cout<<"m="<<3<<"n="<<3<<"k="<<2<<endl;}
运行结果:
通过这道题可以判断下自己的理解,要区分在作用域内是否重定义,如果重定义则相当于一个新的变量来对待,使用作用域内重定义的变量值,并且这个值在脱离作用域后销毁,如果没有重定义,则一直使用其外围作用域范围内的变量及对应的值。也就是说,在括号内部声明的变量相当于不同的变量,占据不同的内存。在内部没有声明变量时,则还是原来的变量。
1 0
- C语言中变量的作用域和生命周期
- C语言中变量的作用域和生命周期
- C语言中变量的生命周期和作用域
- C语言 变量的作用域和生命周期
- C语言 变量的作用域和生命周期
- C语言变量作用域和生命周期
- C++中变量,函数的作用域和生命周期?
- C++中变量的作用域和生命周期
- c++中全局变量,全局静态变量,局部静态变量,局部变量的作用域和生命周期
- C/C+++的中变量作用域和存储类型
- C语言中变量的作用域、生命周期及存储区域
- 从c语言中常用变量的生命周期,作用域,默认值,内存区域及链接属性
- C语言编程基础-11递归函数变量的生命周期和作用域
- C语言中变量的作用域和生命…
- C++中变量的作用域与生命周期
- C++中变量的作用域与生命周期
- C++中变量的作用域与生命周期
- C++中变量的作用域与生命周期
- Python环境搭建
- 模板方法模式
- RxJava 详解
- 关于STM32的HAL库中超时函数中的tick溢出后产生的问题的思考及求证
- leetcode--Reverse Linked List
- C++中变量的作用域和生命周期
- 使用NMap扫描技术解决禁ping问题
- mongodb 下基于group的带权限的统计分析报表实现
- 博客回归
- leetcode-70. Climbing Stairs
- Python爬虫学习2--百度贴吧
- 第十五周项目九统计字符串类型
- Linux初识
- 常用排序算法的Python实现