#ifndef __DEFER__template struct defer_caller { F f; ~defer_caller() { f(); }};struct defer_dummy {};template defer_caller operator*(defer_dummy, F f) { return { f };}#define defer_varname_(NUM) zz_defer_##NUM#define defer_varname(NUM) defer_varname_(NUM)#define defer auto defer_varname(__COUNTER__) = defer_dummy{} * [&]()// ex)// FILE* topSecret = fopen("cia.txt");// defer{ fclose(topS..