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

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

相关推荐
luj_176810 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
always_TT10 小时前
【Python 日志记录:logging 模块入门】
开发语言·python·php
xcLeigh11 小时前
Go入门:变量声明的五种方式详解
java·开发语言·golang
zmzb010311 小时前
C++课后习题训练记录Day175
开发语言·c++
啦啦啦啦啦zzzz12 小时前
工具:动态类工厂和用配置文件存储属性
c++·设计模式·工具·动态工厂
脱胎换骨-军哥12 小时前
C++ 代码规范与格式化指南
开发语言·c++·代码规范
枕星而眠12 小时前
C++ STL Map容器完全指南:从有序红黑树到无序哈希表
java·开发语言
爱吃牛肉的大老虎13 小时前
Rust对象之结构体,枚举,特性
开发语言·后端·rust
bbq粉刷匠14 小时前
HashMap 底层原理深度拆解(二):putVal 完整链路解析(懒加载 · 链表遍历 · 尾插法)
java·开发语言·哈希算法
迷途之人不知返14 小时前
lambda表达式
c++