- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
#include <stdio.h>
#include <boost/typeof/typeof.hpp>
template<class T>
struct __macro
{
__declspec(thread) static T _;
};
template<class T>
T __macro<T>::_;
#define def(c) (__macro<typeof(c)>::_ = c)
#define acc(c) (__macro<typeof(c)>::_)
#define is_digit(x) (def(x),(acc(x) >= '0' && acc(x) <= '9') ? true : false)
#define is_bugit(x) ((x >= '0' && x <= '9') ? true : false)
int main()
{
char hj;
hj = '9';
printf("test->") && is_bugit(hj++) && printf("ok\n") || puts("no");
hj = '9';
printf("test->") && is_digit(hj++) && printf("ok\n") || puts("no");
}