概述

在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已经被销毁了 }  

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信