La soluzione e` creare uno smart pointer ad hoc!

Nel mio caso mi e` bastato crearne uno che gestisse memoria condivisa attraverso un reference counter, in modo da eliminare la risorsa solo nel momento in cui i riferimenti totali ad essa sono 0. In questo modo si possono evitare le deallocazioni multiple, e addirittura l`uso di 'delete'. Pero` in questo caso preciso non si deve poter scrivere sulla memoria perche` puo` essere condivisa da piu` variabili.

Per rendere piu` flessibile il tutto esistono altre tecniche, fra cui ad es. il "Copy On Write", che crea una copia dedicata della risorsa non appena ci sia la necessita` di apportarvi delle modifiche.

Questi metodi inoltre ottimizzano anche l`impiego e il risparmio della memoria!

Ringrazio #coders su IRCnet per il prezioso suggerimento!

Ora le implementazioni le lascio da parte. Se vi interessano veramente, contattatemi via e-mail.

Ciao.