[ create a new paste ] login | about

Link: http://codepad.org/fi7OHkYy    [ raw code | output | fork | 1 comment ]

mohit_at_codepad - C++, pasted on Mar 22:
#include <cstdio>

class SR {
  int &ri;
  int v;
public:
  SR(int &i) : ri(i), v(i) { }
  ~SR() { ri = v; }
};

int main()
{
    int j = 5;
    int a[] = {10, 15};
    {
        SR x(j), y(a[0]), z(a[1]);

        j = a[0];
        a[0] = a[1];
        a[1] = j;

        printf("j = %d, a = {%d, %d}\n", j, a[0], a[1]);
    }

    printf("j = %d, a = {%d, %d}\n", j, a[0], a[1]);
}


Output:
1
2
j = 10, a = {15, 10}
j = 5, a = {10, 15}


Create a new paste based on this one


Comments:
posted by mohit_at_codepad on Jul 17
Written as solution to Scope-Restorer problem.
reply