Ciao a tutti ...
Vorrei sapere per cosa viene usato void* (ossia un puntatore a void ?) si usa solo come valore di ritorno di alcune funzioni ? Perchè ?
Non riesco ad afferrare l'utilità.
ciao![]()
Ciao a tutti ...
Vorrei sapere per cosa viene usato void* (ossia un puntatore a void ?) si usa solo come valore di ritorno di alcune funzioni ? Perchè ?
Non riesco ad afferrare l'utilità.
ciao![]()
Experience is what you get when you don’t get what you want
banalmente ritorna della memoria allocata dinamicamente (per esempio malloc ritorna un void *).
ciao
sergio
quindi:
void *ptr = (void *) new (int[3]);
char *punt = (char *)ptr;
strcpy (punt,"ciauu");
è perfettamente lecito ...
Grasssie ...
Experience is what you get when you don’t get what you want
in questo momento mi sfuggeOriginariamente inviato da Xaratroom
void *ptr = (void *) new (int[3]);
...
void *ptr = new char[6]; // che contenga ciauu + carattere di fine stringa
...
ciao
sergio
void* è un puntatore generico, può contenere qualsiasi dato, viene utilizzato quando non si conosce il tipo di valore da puntare.
I puntatori void sono uno strumento potente (possono contenere qualsiasi dato visto che possono riferirsi in modo generico ad un'area di memoria) ma sono più usati dal C che dal C++.
Volendo programmare in C++ sarebbe meglio cercare di evitarli per quanto possibile, ed usare le strutture ed i metodi offerti dalla libreria standard.
![]()
GreyFox (Linux registered user #435102)
greyfox.imente.org - GreyFox's shots (photo gallery)
$ cd /pub
$ more beer