Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Allocazione Dinamica | Allocazione Dinamica della Memoria
Puntatori e Riferimenti in C++
Sezione 4. Capitolo 2
single

single

bookAllocazione Dinamica

Scorri per mostrare il menu

Allocazione dinamica della memoria implica l'utilizzo degli operatori new e delete. Questi operatori consentono di allocare memoria per variabili e array durante l'esecuzione, offrendo maggiore flessibilità rispetto all'allocazione statica della memoria.

  • new: operatore utilizzato per allocare dinamicamente memoria per un oggetto o un array di oggetti durante l'esecuzione;

  • delete: operatore utilizzato per deallocare la memoria precedentemente allocata con l'operatore new.

Note
Nota

Un puntatore che punta a memoria allocata dinamicamente è tipicamente memorizzato nello stack, ma la memoria a cui punta viene allocata nell'heap.

Per creare una variabile intera dinamicamente è necessario utilizzare un puntatore insieme alla parola chiave new.

int *dynamicInteger = new int;

Per liberare la memoria allocata dinamicamente, si utilizza l'operatore delete:

delete dynamicInteger;

Stabilisci come regola: quando si utilizza new per allocare memoria, utilizzare sempre delete per liberarla successivamente.

Array allocati dinamicamente

Quando si alloca memoria per array in modo dinamico, utilizzare l'operatore new[], e per rilasciare la memoria degli array allocati dinamicamente, utilizzare l'operatore delete[].

Note
Nota

La mancata eliminazione della memoria allocata dinamicamente può causare perdite di memoria, in cui il programma trattiene memoria non più utilizzata.

Compito

Scorri per iniziare a programmare

Immagina di lavorare come insegnante e di dover calcolare la media dei voti di un gruppo di studenti.

Lavorerai anche con puntatori e funzioni che manipolano array allocati dinamicamente.

  1. Crea un array allocato dinamicamente grades per memorizzare i voti degli studenti.
  2. Usa la funzione fillRandomGrades per riempire l'array con voti casuali compresi tra 60 e 100.
  3. Completa la funzione calculateAverage in modo che:
    • Inizializzi la variabile sum a 0.
    • Iteri sull'array utilizzando un ciclo for.
    • Sommi ogni voto a sum.
    • Restituisca la media dividendo il totale sum per il numero di studenti.
  4. Ricorda di rilasciare la memoria allocata usando delete[] alla fine del programma per evitare perdite di memoria.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt