    #include <iostream>
    
    template <typename T>
    struct decrementer_raii
    {
       T& var;
       decrementer_raii(T& v) : var(v) {}
       ~decrementer_raii() { --var; }
    };
    
    int main()
    {
    	int x = 1;
    	{
    	   decrementer_raii<int> dec(x);
    	}
    	std::cout << x;
    	
    }