#include <stdio.h>
template<int N>
void write() {}
template<> void write<0>() { printf("0"); }
template<> void write<1>() { printf("1"); }
template<int N, int a> void write() {
write<(N >> 1) & 1>();
}
template<int N, int a, int b> void write() {
write<(N >> 1) & 1>(); // a
write<(N >> 0) & 1>(); // b
}
typedef void (*function)(void);
static function functions[] = {
write<1>,
write<0>,
write<1>
};
int main(int argc, char** argv)
{
for (int i = 0; i < sizeof(functions) / sizeof(function); i++)
functions[i]();
printf("\n");
return 0;
}
Немає коментарів:
Дописати коментар