Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312

    C++ quando creare oggetti run time

    Salve a tutti,
    abituato a programmare in java ho qualche dubbio su quando usare l'operatore new per istanziare oggetti in c++.
    D'accordo che con new si alloca nell'heap ma qualcuno mi potrebbe fare qualche esempio tipico del loro uso? (escluso il caso della'array dinamico!!!!!).
    Pensavo...implementare una lista collegata sarebbe un bel esempio dell'allocazione dinamica dei nodi in quanto non conosco a priori la dimensione ma potrei ovviare questo facendo un metodo inserisci tipo questo:

    void inserisci(int data){
    nodo n = nodo(data); //creo il nodo in modo classico
    Lista.add(data);
    }

    Qualche suggerimento?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    E quale sarebbe il modo classico, se non sai a priori quanto dovrebbe essere lunga la lista?
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    312
    Con il metodo che ho postato. Ad ogni inserimento chiamo il metodo inserisci che crea un nodo e lo collega alla lista. Però l'ho inizializzato in modo statico l'oggetto, o no?

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Esatto, questo significa che quando la funzione esce, il tuo oggetto contiene spazzatura (a parte il fatto che la funzione in se non ha senso: quando lo usi n?).
    Se vuoi che il tuo oggetto sopravviva alla funzione NON lo devi creare sullo stack. E come si fa a creare un oggetto che sopravvive all'uscita di una funzione?
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

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.