posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

Adrenalina pura a base di C++ e la partial template specialization

La sessione era tutta incentrata sui template (generics) per il mondo unmanaged con particolare riferimento all'adeguamento di VC++ 2003 agli standard ISO (98% raggiunta).
Il relatore informa subito la platea che la sessione è stata erroneamente classificata come 3 (livello medio) ma che è in realtà un livello 4.
Non ci sono mezze misure, l'argomento di partenza è la specializzazione dei template. Si prosegue poi con una particolarità, la partial specialization, che è stata uno dei tanti lati oscuri della conformità ISO del compilatore VC++6. Chi come il sottoscritto si è divertito a scrivere codice che fa uso di queste caratteristiche, si sarà accorto che quel codice non compilava o compilava solo con l'aggiunta di vere e proprie brutture.
La gioia della specializzazione me l'ha trasmessa Chris Sells diversi anni fa in una sessione che aveva un titolo del genere: "C++ Template tricks inspired by ATL". È stato allora che ho potuto compattare il codice delle mie collection ATL in modo impressionante.
La conformance agli standard ISO non è questione solo formale. Due note librerie: Boost (http://www.boost.org) e Loki (http://sourceforge.net/projects/loki-lib) sono delle splendide librerie free che fanno largo uso dei nuovi standard. Questo significa che solo con VC++2003 (peraltro l'unico compilatore ad avere una conformance così alta) e pochi altri copilatori potrete sfruttare queste librerie.
Tra le tante cose dette, non avrei mai pensato di usare enum per valutare l'espressione al compile time, ... gran bel tip.
L'argomento finale sono stati i Koenig Lookup, la ricerca eseguita dal compilatore sui nomi di funzioni senza l'uso del prefisso namespace. Argomento tanto intricato da rendere necessario l'approfondimento sui libri di ultima generazione.
Una cosa è certa, l'avvento di Herb Sutter in Microsoft si è fatto sentire. Lui qui non c'era ma gli effetti della sua tastiera li abbiamo tutti sul nostro harddisk.

Print | posted on giovedì 3 luglio 2003 19:39 |

Feedback

Gravatar

# re: Adrenalina pura a base di C++ e la partial template specialization

Luca, questo è un post del 2003 ... se g++ (che non uso) spero sia molto vicina al 100%, nel frattempo le cose sono andate mooolto avanti anche con VC++2005.
Considerato che VC++2005 express ha anche un IDE ed è pure gratis ... ;-)
22/09/2006 16:07 | Raffaele Rialdi
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET