400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

C++怎么压缩作用域

本篇内容主要讲解“C++怎么压缩作用域”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++怎么压缩作用域”吧!

武强ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

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(实施建议)

到此,相信大家对“C++怎么压缩作用域”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享名称:C++怎么压缩作用域
转载源于:http://mbwzsj.com/article/igdjip.html

其他资讯

让你的专属顾问为你服务