《C++那些事》更新硬核实战defer

《C++那些事》更新硬核实战defer,第1张

《C++那些事》更新硬核实战defer 1.效果
ofstream fw("out");
fw << "hello world" << endl;
// do something
fw.close();

像这里写了一个写文件 *** 作,中间做了一大堆事情,最后关闭文件句柄,同样像new一堆内存,最后我们需要关闭它,像这种东西,在c++可以通过智能指针,甚至前面提到的RAII方法解决,那么除了这些还有什么?

没错,那就是ScopeGuard(简称sg),使用sg可以模拟defer,像go中写法:

func test() {
  // do something
  defer xxx();
}

同样,我们在C++中也可以实现这种效果,本节就带大家一起实现一个类似的效果。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/676424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存