Puntatori in C++
Allocazione Dinamica della Memoria
Allocazione Dinamica di Memoria in C++
L'allocazione dinamica di memoria in C++ consente di gestire la memoria manualmente durante l'esecuzione del programma.Questo significa che puoi creare, modificare e liberare la memoria in modo dinamico.
L'operazione chiave coinvolge l'uso di `new` per allocare la memoria e `delete` per liberarla.
int* puntatoreIntero = new int; // Allocazione dinamica di un intero
*puntatoreIntero = 42; // Assegnazione di un valore
// Liberazione della memoria
delete puntatoreIntero;
Utilizzo di `new` e `delete`
-
new Utilizzato per allocare dinamicamente la memoria.
Restituisce un puntatore al tipo di dato specificato. - delete Utilizzato per liberare la memoria precedentemente allocata con `new`.
int* arrayDinamico = new int[10]; // Allocazione dinamica di un array di 10 interi
// Liberazione della memoria
delete[] arrayDinamico;
Utilizzo di Reference
Le reference in C++ offrono un modo sicuro e conveniente per manipolare i dati senza dover lavorare direttamente con i puntatori.
int numero = 10;
int& referenceNumero = numero; // Dichiarazione di una reference a numero
referenceNumero = 20; // Modifica il valore di numero attraverso la reference
Parametri di una Funzione nei Puntatori Costanti
Quando si passano puntatori a funzioni, l'uso di puntatori costanti previene la modifica dell'oggetto puntato.
void funzioneEsempio(const int* puntatoreCostante) {
// *puntatoreCostante = 5; // Errore, non puoi modificare il valore puntato
}
In questo esempio, `const int*` indica che il dato puntato non può essere modificato all'interno della funzione.