玩点花样:
static intptr_t b1 = 0; static intptr_t b2 = 0; void calc_impl() { #define v1 *(int*)(b1 - (intptr_t)&tmp) #define v2 *(int*)(b2 - (intptr_t)&tmp) int tmp = v1; v1 = v2; v2 = tmp; } void calc() { int a = 2; int b = 3; b1 = (intptr_t)&a + b2; b2 += (intptr_t)&b; calc_impl(); } void swap() { int base = 0; b2 = (intptr_t)&base; calc(); } void test_swap() { int a = 10; int b = 5; printf("%d %d
", a, b); swap(); // do not need any pointer here printf("%d %d
", a, b); }
没有什么高深的代码,但原理不太容易一下子想明白。
从道理来说,早减晚增本身是没啥毛病的,毕竟只是个选项,丰俭由人。
大家怕的是某些人通过这些选项,再加点私货。而且这个说法和推迟退休一起出来,由不得大家多想。
按照目前的舆论情况,如果你敢允许早退减拿,估计只要不在体制内的人就统统早退了,反正也没啥规定领了社保就不能接着打工,对吧?甚至还可以把原来交给社保的那块放自己口袋。
所以,让你早退减拿是不可能的,忽悠大家晚退多拿的可能性比较大。