“Experimenting on the Net”
“ Offrire il Linus Torvalds Award alla Free Software Foundation
è un po' come dare il Premio Han Solo all'alleanza ribelle di Guerre Stellari „Richard Stallman
Mi ่ venuto in mente un modo di implementare i template in C ...
Esempio:
/** * How to implements templates in C * by Marco Caggiano **/ #define my_template_function(type, dest, x) do { type *t = malloc((x) * sizeof(type)); assert(t != NULL); dest = type; } while(0); int main(void){ int *idest = NULL; float *fdest = NULL; my_template_function(int, idest, 1000); my_template_function(float, fdest, 1000); free(idest); free(fdest); return 0; }
I template C non sono altro che macro C con qualche nozione di semantica.
Hanno cercato di emulare MacLisp ma non ce l'hanno fatta. Quando senti "C " e "metaprogramming" nella stessa frase senza che vi sia apposto un "non è" vuol dire che stai parlando con qualcuno che mette prefissi a caso solo perché fanno fico.
Il tuo blog mangia automagicamente il doppio .
Bello mangia anche il singolo%uFE62(più)
Non fa neanche utf8. Proviamo qualcosa di nasty:
<strong>strong!</strong>
nasty & nasty
Meno male.
Immaginavo che i template Cpp, in realtà, fossero macro C.
Da qui è nata l'"idea".
Comunque non metto i prefissi perchè fa fico, l'ho messo, ma penso che sia sbagliato ora come ora non ricordo perchè lo abbia messo; forse credevo di incrementare il puntatore, ma mi sa che ho ottenuto un altro effetto ...
Comunque grazie per il commento.