Ho un buffer char
(ad esempio byte) che sto inviando tramite la rete. Ad un certo punto in futuro potrei voler cambiare il buffer in un tipo diverso come unsigned char
o short
. Ho pensato di fare qualcosa di simile:Uso valido di typedef?
typedef char bufferElementType;
E ogni volta che faccio qualcosa con un elemento di buffer dichiaro come bufferElementType
piuttosto che char
. In questo modo potrei passare ad un altro tipo modificando questo typedef (ovviamente non sarebbe così semplice, ma sarebbe almeno facile identificare i luoghi che devono essere modificati ... ci sarà un bufferElementType
nelle vicinanze) .
È valido/valido l'uso di typedef? Non ne vale la pena? Mi darà un mal di testa ad un certo punto nel futuro? Farà in modo che i programmatori di manutenzione mi odiano?
ho letto attraverso When Should I Use Typedef In C++, ma nessuno realmente trattato questo.
Si utilizzano array di questo tipo per i buffer? O vuoi dire che il buffer è lungo 1 byte, e potresti desiderare di renderlo 2 byte o 4 byte in futuro? –
In questo caso, non c'è molto vantaggio nell'usare "typedef char bufferElementType;". Se si utilizza la stessa dimensione di matrice ovunque, potrebbe essere utile digitare typedef l'intero tipo di array: "typedef char [1024] bufferElementType;" - che ti permette di cambiare la dimensione del buffer ovunque in un colpo solo. –
Se tuttavia i buffer sono realmente in grado di contenere "caratteri di testo" e si sta considerando di passare da una codifica di caratteri esattamente a 1 byte (ad esempio ANSI) a una codifica di caratteri esattamente a 2 byte o esattamente a 4 byte, allora l'originale typedef è la strada da percorrere. –