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

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

相关推荐
钰爱&2 小时前
【Linux】POSIX 线程信号量与互斥锁▲
java·开发语言·jvm
yt948322 小时前
Matlab实现绘制任意自由曲线
开发语言·matlab
C++实习生4 小时前
powerbuilder9.0中文版
c语言·c++
oioihoii4 小时前
C++23 std::generator:用于范围的同步协程生成器 (P2502R2, P2787R0)
开发语言·c++·c++23
免檒4 小时前
go基于redis+jwt进行用户认证和权限控制
开发语言·redis·golang
没有梦想的咸鱼185-1037-16635 小时前
全球森林数据如何分析?基于R语言森林生态系统结构、功能与稳定性分析与可视化
开发语言·随机森林·数据分析·r语言
Your易元5 小时前
设计模式-迭代器模式
java·开发语言
Cuit小唐5 小时前
C++ 迭代器模式详解
c++·算法·迭代器模式
2401_858286115 小时前
CD37.【C++ Dev】string类的模拟实现(上)
开发语言·c++·算法
╭⌒心岛初晴5 小时前
JAVA练习题(2) 找素数
java·开发语言·算法·java练习题·判断素数/质数