【C++】花括号作用域
来源:互联网 发布:山大网络企业管理答案 编辑:程序博客网 时间:2024/05/07 15:52
花括号作用域
//作用域,可以看作一个变量的有效使用区域//函数外部也是一个大的作用域,暂且记作:作用域0void Fun(){ //函数内部作用域,暂且记作:作用域1 while() { //循环内部,暂且记作:作用域2 if() { //if内部,也是一个作用域,暂且记作:作用域3 } } if() { //if内部,也是一个作用域,暂且记作:作用域4 } { //我只写个花括号,这个也是一个作用域,暂且记作:作用域5 }}
从上面代码块儿,可以看到,
作用域0,直接包含作用域1,同时,又间接包含作用域2、3、4、5;(作用域1中声明的变量,可以在其本身,以及2、3、4、5中使用,但是不能在1的上级作用域使用,也就是作用域0,函数外部。)
作用域1,直接包含作用域2、4、5,同时,又间接包含作用域3;(作用域2中声明的变量可以在作用域2,以及2的下一级作用域3中使用,但是不能在0、1、4、5中使用。)
变量的使用,只能是从变量声明的作用域,向下延伸,不能反向,不能向上一级作用域。也就是说,只能在当前作用域或者子级作用域下面使用。
变量的声明的位置
下面,简单说一下C/C++
中的变量声明。
在标准的C中,有严格的规范,变量的声明必须在作用域的起始部分。(如有代码疑问,可能是您在C++中把C混淆了,或者您的编译器的标准不严格。严格的一般应该是linux或unix下的C标准。)
甚至,函数内部的所有变量声明,都人为的严格要求在函数起始部分,防止变量的随处声明和定义。(这一点,可能和您的老师或者师傅,以及有的书本中,视频中描述的不一样,那是因为现在多数编程语言已经不这么要求,而他们混淆了规则。)请记住,严格的标准的C,变量的声明是在作用域或者函数的起始部分。个人建议,统一放在函数的起始部分。
优点
开发阶段,一般有的函数体很庞大(遇到这种情况,一般是函数的设计问题,但也不排除必要性。)面对如此庞大的函数体,变量的声明统一在函数起始位置,可以防止变量使用的时候,未声明,尤其使用goto语句的时候,很容易就跳过了某些变量的声明。
便于变量的多次有效利用,也就是,一次声明,多次初始化,多次利用。
便于阅读..
阅读全文
1 0
- 【C++】花括号作用域
- ecmall中花括号{}作用
- php变量作用域(花括号、global、闭包)
- PHP变量作用域(花括号、global、闭包)
- C++里的花括号{},块,作用域
- php大括号作用
- shell 双括号((...))作用
- 大括号的作用
- 花括号({...})在自动资源释放中的作用
- 花括号({...})在自动资源释放中的作用
- 【C语言】判断花括号{}是否匹配
- C语言::验证花括号成对出现
- 【C语言】验证花括号成对出现
- 花括号配对问题c语言
- MSSQL中括号的作用
- JavaScript中大括号“{}”作用
- shell大小中括号作用
- shell大小中括号作用
- 空间复杂度
- 值传参和引用传参
- 二十一世纪计算 | John Hopcroft:AI革命
- 4.无监督学习
- JOTS: Joint Online Tracking and Segmentation
- 【C++】花括号作用域
- 堆栈方法区
- 凯斯西出大学轴承数据集数据
- 共识,权威以及去中心化的区块链
- 【转载】Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!(疯了)
- 互联网数据库“跨库分页”架构技术实践
- zookeeper节点无法启动(myid缺失)
- GMMCP Tracker:Globally Optimal Generalized Maximum Multi Clique Problem for Multiple Object Tracking
- bootstrap 学习