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

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

相关推荐
tankeven几秒前
动态规划专题(05):区间动态规划实践(乘法游戏)
c++·算法·动态规划
小白学大数据2 分钟前
Python 爬虫:拍卖网站列表页与详情页数据联动爬取
开发语言·爬虫·python
Highcharts.js11 分钟前
在 Next.js App Router 中使用 Highcharts Stock(完整实战指南 )
开发语言·javascript·ecmascript
摇滚侠12 分钟前
Groovy 中如何定义集合
java·开发语言·python
xiaoshuaishuai815 分钟前
C# 实现Workstation相关功能
开发语言·windows·c#
游乐码16 分钟前
c#Lsit排序
开发语言·c#
水饺编程17 分钟前
第5章,[标签 Win32] :GDI 的基本图形
c语言·c++·windows·visual studio
水饺编程19 分钟前
第5章,[标签 Win32] :GDI 的其他方面的分类
c语言·c++·windows·visual studio
计算机安禾20 分钟前
【数据结构与算法】第46篇:算法思想(一):递归与分治
c语言·数据结构·c++·算法·visualstudio·图论·visual studio code
hard_coding_wang23 分钟前
了解一个Excel批量替换的公式用法:REDUCE + LAMBDA 实现循环替换
开发语言·c#·excel