C++ Primer 语句作用域

欢迎阅读我的 【C++Primer】专栏

专栏简介:本专栏主要面向C++初学者,解释C++的一些基本概念和基础语言特性,涉及C++标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级程序设计技术。希望对读者有帮助!


目录

5.2语句作用域

可以在if、switch、while和for语句的控制结构内定义变量。定义在控制结构当中的变量只在相应语句的内部可见,一旦语句结束,变量也就超出其作用范围了:

cpp 复制代码
while(int i=get_mum())//每次选代时创建并初始化
cout << i << endl;
i = 0;//错误:在循环外部无法访问

如果其他代码也需要访问控制变量,则变量必须定义在语句的外部:

cpp 复制代码
 //寻找第一个负值元素
auto beg=v.begin();
while(beg!=v.end()&&*beg>=0)
    ++beg:
if(beg==v.end())
//此时我们知道v中的所有元素都大于等于0

因为控制结构定义的对象的值马上要由结构本身使用,所以这些变量必须初始化。

相关推荐
2601_962885721 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
choumin1 小时前
C++中万能引用与std::forward的作用和用法
c++·万能引用·std forward
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里2 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑3 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl3 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_3 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
“AI国潮设计-小江”4 小时前
【AIGC实战】Python+SDXL打造“潮汕英歌舞IP”万能立牌插件,批量生成“发财元宝蛋糕”视觉营销方案(附源码)
开发语言·人工智能·python·prompt·aigc
lhbweilai5 小时前
分析FreeRTOS内核对象API的源码实现(八)
c语言·开发语言·stm32·单片机
努力努力再努力wz5 小时前
【C++高阶系列】C++20 协程底层原理:函数为什么能暂停?从状态机到 Task,彻底串起挂起、恢复与协程调度
开发语言·c++·c++20·1024程序员节