C++怎么压缩作用域
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容主要讲解"C++怎么压缩作用域",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++怎么压缩作用域"吧!ES.5: 尽量压缩作用域Reason(原因
千家信息网最后更新 2025年12月03日C++怎么压缩作用域Example, bad(反面示例)
本篇内容主要讲解"C++怎么压缩作用域",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++怎么压缩作用域"吧!
ES.5: 尽量压缩作用域
Reason(原因)
可读性。最小化资源的保持时间。避免变量的误用。
换个说法:不要没有必要扩大名称的作用域。
Example(示例)
void use()
{
int i; // bad: i is needlessly accessible after loop
for (i = 0; i < 20; ++i) { /* ... */ }
// no intended use of i here
for (int i = 0; i < 20; ++i) { /* ... */ } // good: i is local to for-loop
if (auto pc = dynamic_cast(ps)) { // good: pc is local to if-statement
// ... deal with Circle ...
}
else {
// ... handle error ...
}
}
Example, bad(反面示例)
void use(const string& name)
{
string fn = name + ".txt";
ifstream is {fn};
Record r;
is >> r;
// ... 200 lines of code without intended use of fn or is ...
}
这个函数用任何标准衡量都太长了,但是要点在于fn使用的资源和is管理的文件被维持的时间远远超过需要,有可能在函数接下来的部分is和fn会被意外使用。这种情况下,分解出一个read函数可能是一个好主意。
Record load_record(const string& name)
{
string fn = name + ".txt";
ifstream is {fn};
Record r;
is >> r;
return r;
}
void use(const string& name)
{
Record r = load_record(name);
// ... 200 lines of code ...
}Enforcement(实施建议)
Flag loop variable declared outside a loop and not used after the loop
标记在循环外定义循环变量并且循环之后不再使用的情况。
Flag when expensive resources, such as file handles and locks are not used for N-lines (for some suitable N)
标记高价值资源(例如文件句柄和锁)在N行(适当值)之内没有使用的情况。
到此,相信大家对"C++怎么压缩作用域"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
作用
C++
函数
情况
资源
循环
内容
变量
文件
时间
标记
示例
学习
实用
更深
最小
适当
必要
意外
接下来
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
ibmx346服务器启动不了
工业自动化软件开发
我的世界服务器密码被改
用友t3职员档案数据库表
王牌战士服务器怎么创造角色
尘斯网络技术工作室
运行远程服务器
数据库查询一条结果
HACKER软件开发
创造与魔为什么进不了别的服务器
网络安全和信息化工作的重大
石家庄网络技术公司电话
我的世界pe大型服务器
抢单软件开发架构设计
软件开发过程有哪些开发模型
工业网络技术大类
2020国家网络安全周是
毒性计算机预测数据库
郑州读稚网络技术有限公司
网络安全竞答登录
河南专业网络技术询问报价
公司网络安全的口号
数据库做窗体代码
梦幻西游怀旧服务器东西值钱吗
男扮女装小说软件开发
坪山区数据网络技术开发服务标准
济南市服务器包装价格
郑州万游网络技术有限公司
北京车匠互联网科技
精斗云数据库