Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [c++]puntatori a void

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]puntatori a void

    CIao.
    Una domanda breve :
    COsa sono di preciso i puntatori a void?
    Non riesco a capire a cosa servono.
    Grazie.

  2. #2
    è il puntatore a quancosa di cui a priori non conosci il tipo.
    Studiati prima il casting poi il concetto ti si chiarirà.

    ciao
    sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    conosco il casting , non capisco l'utilità di un puntatore generico , non basta fare il casting col tipo preciso?
    grazie ve mondobimbi

  4. #4
    Due esempi: le funzioni malloc e free. malloc restituisce un void * perché ha allocato la memoria, ma non sa a cosa servirà; ci penserà il chiamante ad effettuare il cast al tipo di puntatore corretto. Stesso discorso per free: non è importante a che genere di dati punta il parametro passato, ma semplicemente l'indirizzo, visto che la funzione deve solo deallocare quel blocco di memoria.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Un'altro esempio potrebbe essere un garbage collector, che tiene traccia di ogni allocazione, ma non sa, e non gli interessa, di che tipo sia. Oppure un interprete di comandi, a cui a ogni comando è associato un puntatore a funzione, il cui argomento è di tipo variabile a seconda del comando.
    Oppure una funzione di lettura dati generica, tipo fread; o funzioni di gestione della memoria (memset, memmove, memcpy, memcmp), che operano su qualsiasi tipo di dato.
    Insomma senza puntatori void, sarebbe più complicato e meno flessibile programmare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.