Was macht dieser Code ?
-
Moin, ich hab gerade im Inet ne Quellcode Datei gefunden,
wo ich nicht so wirklich draus schlau werde.loop.cpp:
struct a{typedef int foo;};struct a1:a{};struct a2:a{}; #define X(b,a) struct a##1:b##1,b##2{};struct a##2:b##1,b##2{}; X(a,b)X(b,c)X(c,d)X(d,e)X(e,f)X(f,g)X(g,h)X(h,i)X(i,j)X(j,k)X(k,l) X(l,m)X(m,n) n1::foo main(){}
Der Code kompiliert bei mir, zeigt aber keine besonderheiten,
auch der Debugger zeigt nix.Also, wozu dienen die ganzen Structs ?
wo kommt n1 her ?
und was heissen die ## ?Devil
-
## fügt zwei Präprozessortokens zusammen
aus#define A(x) x##_welt
A(hallo)wird
hallo_weltlass den präprzessor drüber laufen und lass dir den code dann ausgeben (dein compiler bietet da sicher eine möglichkeit) dann siehst du ja, was es macht.
soweit ich das sehen, macht es nix. es legt nur massig structs an und man hat dann am ende ne sehr tiefe hierachie
-
Geniales #define
-
gib mal den Link wo Du diesen coden gefunden hast
-