Salve a tutti, vado subito alla domanda: considerato il codice C seguente:
codice:
//Item.h (ovviamente perso come esempio generale)
typedef struct item *Item;
Item newItem (char*);
char *itemGetName (Item);
...
void deleteItem ();
codice:
//Item.c
struct Person {
char *itemName;
...
}
Item newItem () {
Item local;
local = malloc (sizeof (*local));
...
}
char* itemGetName (Item this) {
return this->itemName;
}
...
come "tradurlo" in C++ mantenendo l'information hiding, la leggibilità e producendo un assembly il più simile possibile? O più in generale quali sono i modi (con vantaggi e svantaggi) per utilizzare l'idioma pimpl / compiler firewall / cheshire cat (non so se ci sono differenze tra questi)?
Cercando in rete ho trovato vari pareri, ma senza i perchè. Un grazie infinito a chi può charirmi questo dubbio.