un altra domanda ,shodan:
se faccio l'override della funzione < and es .
con i seguenti paramentri:

operator <(const Cmaterial& mat1, const Cmaterial& mat2)

e ho una mappa del tipo map<Cmaterial, int> mappa
funziona , tutto va come dovrebbe andare .

ma se uso i puntatori e piazzo un break point nella funzione < non capisco perchè non entra .

vorrei utilizzare una mappa del tipo :
map<Cmaterial*, int> mappa.

Un ultima cosa , se uso degli smart pointer nella mappa ?
dipende dagli smart pointer credo , ad es gli smart pointer shared_pointer di boost e del ::tr1 come si comportano?