PDA

Visualizza la versione completa : [C++] Utilizzo di void*


Xaratroom
14-08-2007, 11:38
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 :ciauz:

mondobimbi
14-08-2007, 14:46
banalmente ritorna della memoria allocata dinamicamente (per esempio malloc ritorna un void *).
ciao
sergio

Xaratroom
14-08-2007, 15:07
quindi:

void *ptr = (void *) new (int[3]);
char *punt = (char *)ptr;
strcpy (punt,"ciauu");

è perfettamente lecito ...
Grasssie ...

mondobimbi
14-08-2007, 15:20
Originariamente inviato da Xaratroom

void *ptr = (void *) new (int[3]);
...



in questo momento mi sfugge

void *ptr = new char[6]; // che contenga ciauu + carattere di fine stringa

...

ciao
sergio

menphisx
14-08-2007, 22:33
void* è un puntatore generico, può contenere qualsiasi dato, viene utilizzato quando non si conosce il tipo di valore da puntare.

GreyFox86
15-08-2007, 11:05
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.

:ciauz:

Loading