1 2 3 4 5 6 7 8 9 10
#ifndef MACRO_H #define MACRO_H #define TP(a, b) a ## b #define NEW(T, N, ...) \ T* N = malloc(sizeof(*N)); \ TP(T, _init) (N, __VA_ARGS__); #endif /* MACRO_H */