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

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

相关推荐
晨曦5432107 分钟前
python——正则表达式
开发语言·正则表达式
极客先躯28 分钟前
高级java每日一道面试题-2025年4月01日-微服务篇[Nacos篇]-Nacos集群的数据一致性是如何保证的?
java·开发语言·微服务
二块烧肉32 分钟前
C语言 内存管理
c语言·开发语言
牵牛老人1 小时前
NI的LABVIEW工具安装及卸载步骤说明
c++·labview
码农幻想梦1 小时前
4185 费马小定理求逆元
java·开发语言
LuckyRich11 小时前
【仿Mudou库one thread per loop式并发服务器实现】项目介绍+前置技术知识点
服务器·c++
唐人街都是苦瓜脸1 小时前
Java中常见的设计模式
java·开发语言·设计模式
大锦终1 小时前
【C++】模板进阶
c语言·开发语言·数据结构·c++
你是理想1 小时前
java基础多态------面试八股文
java·开发语言·面试
我感觉。1 小时前
Anaconda环境管理及 pycharm、jupyter notebook 的配置
开发语言·pytorch·python·深度学习