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

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

相关推荐
zhangzeyuaaa1 分钟前
深入 Ruby:Block、Proc、Lambda 核心区别与最佳实践
开发语言·前端·ruby
蜗牛互联网4 分钟前
Java 17调用Embeddings API:余弦相似度与FAQ拒答阈值
java·开发语言·人工智能
旖旎夜光7 分钟前
LeetCode 1576: 替换所有的问号(模拟) —— 题解
c++·学习·算法·leetcode·力控
郝学胜-神的一滴8 分钟前
AI 编程智能体 05:拆解智能体分级体系、类型与全行业落地场景
开发语言·人工智能·python·程序人生·pycharm
朝朝辞暮i9 分钟前
C++ 第 38 课:线程、SingleThreadedExecutor、MultiThreadedExecutor、Callback Group
开发语言·c++·算法·ros2
(Charon)14 分钟前
【C++面试】互斥锁与读写锁:使用场景、实现原理与写饥饿问题
c++·算法
外收内放29 分钟前
Python基础语法练习题(43-44)
开发语言·python
坤坤子吖33 分钟前
Python基础语法学习:列表和元组
开发语言·笔记·python·学习
可乐鸡翅yeah_38 分钟前
新手梳理:HLS 线上问题,哪些该提给 CDN,哪些该找后端切片服务
开发语言·前端·javascript·vue.js·网络协议·http·m3u8在线
by209991 小时前
list 的使用:把节点、位置和操作联系起来的综合叙述(上)
数据结构·c++·笔记·list