背景
是否遇到过忘记 free 或者 delete 等造成的内存泄漏?是否想在代码开始的地方就写好流程结束需要做的事情? 比如在进行 socket 相关编码的时候,需要在代码末尾调用 free? 本文皆在实现一种方式,使得在函数生命周期结束的时候自动调用预先注册的代码,示例如下:
void Test(){
defer(std::cout<<"End"<<std::endl;);
std::cout<<"Start"<<std::endl;
}
int main(){
Test();
return 0