概述

在C/C++中大括号指明了变量的作用域,

在大括号内声明的局部变量其作用域自变量声明开始,到大括号之后终结。

{ } 里的内容是一个“块”,单独的{ }在执行顺序上没有改变,仍然是顺序执行,

例子1
void MyProcess(MyType input, MyType &output) {    MyType filter = input;    {
      MyType temp;       step1(filter,temp);    }    {       MyType temp;      
step2(filter,temp);    }    {       MyType temp;       step3(filter,temp);    }
   output = filter; }
以上程序实现了简单的管道/过滤器结构:

               temp1    temp2   temp3

                  ↓            ↓             ↓ 

input --> step1 --> step2 --> step3 --> output

temp都是临时变量,

如果没有大括号的约束,每个临时变量都存在于函数作用域中,那么频繁增减流程时出错的概率大大增加。

放在大括号中,不仅程序阅读起来很清楚,而且也不容易出错

例子2
{ int a=0; { int b=0; a=1; //正确,还在a的作用域中 } b=1; //错误,因为不在b的作用域,b已经被销毁了 }  

技术
©2020 ioDraw All rights reserved
日经:索尼和铠侠正积极申请华为供货许可JS基础重点知识实验总结(全)携程2019校招 LRU CacheJava期末复习题浙大数据结构期中考试试题华为鸿蒙系统能否与安卓、苹果分庭抗礼?面试题:手写单链表(包含反转链表)Pymongo index索引相关操作总结spark.sql.shuffle.partitions 和 spark.default.parallelism 的区别Java基础学习总结(162)——如何保证线程安全?