Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [C++] Scopo di typedef

  1. #1

    [C++] typedef

    ho una classe.. dentro vengono definiti costruttore, distruttore e poi alla fine c'è una cosa di questo genere:

    typedef std::list< adj_elem >::iterator adj_list_iterator;

    che scopo ha?! qualcuno può aiutarmi a capire!?

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Il typedef serve per creare sinonimi di tipi di dato, e ciò è molto utile per la portabilità del tuo programma.
    codice:
    typedef std::list< adj_elem >::iterator adj_list_iterator;
    Dichiara un sinonimo di std::list< adj_elem >::iterator sostituendolo con adj_list_iterator
    In questo modo, se vuoi un oggetto di quel tipo, ti basterà fare
    codice:
    adj_list_iterator Prova;
    invece di scrivere ogni volta
    codice:
    std::list< adj_elem >::iterator Ciao;
    E cio è importante anche per la portabilità
    Mettiamo caso hai un programma che utilizza vari adj_list_iterator.
    Improvvisamente scopri che nel tuo programma serve std::list< adj_elem >::vector invece di std::list< adj_elem >::iterator ...
    Se tu avessi scritto std::list< adj_elem >::iterator per ogni dichiarazione sarebbe un guaio sostituire tutto, ma e hai usato il typedef, ti basterà cambiare quello per avere un programma già nuovamente funzionante.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

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.