fork download
  1. #include <iostream>
  2.  
  3. template <typename T>
  4. struct decrementer_raii
  5. {
  6. T& var;
  7. decrementer_raii(T& v) : var(v) {}
  8. ~decrementer_raii() { --var; }
  9. };
  10.  
  11. int main()
  12. {
  13. int x = 1;
  14. {
  15. decrementer_raii<int> dec(x);
  16. }
  17. std::cout << x;
  18.  
  19. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
Standard output is empty