C++中无法选择适当的资源句柄怎么办

本篇内容主要讲解“C++中无法选择适当的资源句柄怎么办”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++中无法选择适当的资源句柄怎么办”吧!

E.19:如果无法选择适当的资源句柄,使用final_action表现清除处理

Reason(原因)

和try/catch比起来,finally更加简练并不容易出错。

Example(示例)

void f(int n)
{
   void* p = malloc(n);
   auto _ = finally([p] { free(p); });
   // ...
}
Note(注意)

finally不像try/catch那样凌乱,然仍然是针对具体问题的特殊对策。使用适当的资源管理对象的方式更好。将finally视为最后一招。

Note(注意)

使用finally一种系统化、合理化的代替既有代码中goto exit的方式。使用这个技术可以处理资源没有被系统化管理的问题。

Enforcement(实施建议)

启发式的:检出goto exit;

关于finally

finally是gsl提供的一个支持函数,可以生成一个用户释放资源的清除动作。

到此,相信大家对“C++中无法选择适当的资源句柄怎么办”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!