2021
10-16
10-16
C++实现Go的defer功能(示例代码)
在Go语言中有一个关键字:defer,它的作用就是延迟执行后面的函数,在资源释放方面特别有用,比如下面一段C/C++的示例代码:voidtest(){FILE*fp=fopen("test.txt","r");if(nullptr==fp)return;if(...){fclose(fp);return;}if(...){fclose(fp);return;}if(...){fclose(fp);return;}fclose(fp);}在每一处返回之前都需要调用fclose来关闭文件句柄,中间的流程中断越多,越是容易遗漏调用fclose...
继续阅读 >