Puesto que DKAny puede albergar una referencia a objeto pero no gestiona memoria correspondiente a los tipos de referencia a objetos, debe gestionar la memoria correspondiente a estos tipos.
El ejemplo siguiente gestiona la memoria correspondiente a un objeto DKAny:
DKDDO* ddo = new DKDDO; // crea un DKDDO en el
//almacenamiento dinámico
DKAny anyA((dkDataObjectBase*)ddo);
DKAny* anyB = new DKAny(anyA); // crea anyB en el
// almacenamiento dinámico
// anyA y anyB contienen una
// referencia al mismo ddo
…
delete anyB; // suprime anyB, no se suprime
// el ddo
if (anyA.typeCode() == DKAny::tc_dobase)
delete ((dkDataObjectBase*) anyA.value()); // suprime el ddo
La última sentencia delete se debe ejecutar antes de salir del ámbito; de lo contrario anyA se suprime, dejando el DDO como una fuga de memoria.
