Re: C Programmieren wie die Profis



Georg Bauhaus schrieb:

/* Namen herstellen. */
#define MN2(prefix, suffix) XPN2(prefix, suffix)
#define MN3(prefix, infix, suffix) XPN3(prefix, infix, suffix)
#define XPN2(prefix, suffix) prefix##_##suffix
#define XPN3(prefix, infix, suffix) prefix##_##infix##_##suffix

// --8<--8<--

#define TP int // Typ-Parameter, schlichter Name


// --8<--8<--

/* stack ADT */
#define ADT MN2(TP, stack) // lesbare Abkürzung
typedef struct ADT * ADT;

ADT MN3(make, TP, stack)(void);
void MN3(destroy, TP, stack)(ADT);
void MN3(push, TP, stack)(ADT, TP);
TP MN3(top, TP, stack)(const ADT);
void MN3(pop, TP, stack)(ADT);
TP MN3(is_empty, TP, stack)(const ADT);

Solltest Du beim Wettbewerb "Obfuscated C" einreichen ...

Gruß. Claus
.



Relevant Pages

  • Re: =?ISO-8859-15?Q?L=F6sung=3A_Dolmetscher_gesucht!?=
    ... Daher kam dem Rätselautor anscheinend die Idee, sie Suffixe zu nennen. ... Ein Suffix kann also von einem weiteren Suffix gefolgt werden, wodurch es _dann_ technitsch gesehen zum Infix wird, da hast Du recht. ... auch als Affix. ...
    (de.rec.denksport)
  • Re: Italian vs Turkish
    ... > I should define the suffix first. ... > You don't need any infix function. ... No need for a huge formulaic rewording for something so simple. ... I don't care if you want ...
    (sci.lang)
  • Italian vs Turkish
    ... I should define the suffix first. ... SUFFIX function modifies the x by attaching y. ... You don't need any infix function. ...
    (sci.lang)
  • Re: Macro concatenation
    ... an underscore character and a suffix, ... What I would like to do is for the prefix to be fixed in a ... preprocessor macro, so that the full name can be constructed ... void FUNCTION_NAME; ...
    (comp.lang.c)