Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come allocare dinamicamente un array utilizzando Classe in C + +

In base C + + programmazione, le variabili e gli array sono dichiarati dal programmatore direttamente nel codice . Tuttavia, quando si costruisce strutture dati come array ridimensionamento dinamico , il programmatore deve imparare ad allocare dinamicamente la memoria durante l' esecuzione di codice . Array assegnati in questo modo hanno alcuni vantaggi , come la lunghezza non costante in dichiarazione. Il programmatore può allocare array di tipi di dati scalari e le classi create dall'utente identico. Utilizzando i puntatori e le parole chiave incorporati nella libreria standard , C + + rende l'allocazione della memoria e la cancellazione immediata. Cose che ti serviranno
Text Editor
C /C + + Compiler ( ad esempio Microsoft Visual Studio o GCC ) economici Show More Istruzioni
1

creare un puntatore del dati digitare l'array conterrà . Ad esempio, per creare dinamicamente un array di interi , un puntatore intero deve esistere per fare riferimento alla matrice:

int * arr_ptr ;

Il puntatore " arr_ptr " consentirà ora un programmatore di riferimento profonda memoria durante l'esecuzione .
2

usare il puntatore per allocare memoria . La "nuova" parola chiave , che è specifico per le librerie C + + ( e non disponibile in C standard ) sostiene memoria durante l'esecuzione per l'uso del puntatore vocazione :

arr_ptr = new int [ 6] ;

In questo caso , la "nuova" parola chiave afferra un blocco di sei sezioni integer di dimensioni di memoria. Tuttavia, a differenza di matrici dichiarate prima fase di esecuzione, gli array dinamici possono essere dichiarate con ingresso variabile :

int i = 6;

arr_ptr = new int [ i] ;

permette al programmatore di creare array che può ridimensionare in base alle esigenze , piuttosto che la designazione spazio predeterminato .
3

allocare una matrice di tipi di dati creati dall'utente . A seguito di C + + procedura di allocazione della memoria , il programmatore può creare array di tipi di dati dichiarati in classi separate :

int i = 5;

NewClass * class_ptr ;

class_ptr = new NewClass [ i]; .

il puntatore " class_ptr " farà riferimento a una variabile del tipo di dati " NewClass " , molto probabilmente definito in una descrizione della classe in un altro file
4

Eliminare il array. Quando un array è più necessaria ( o è stato copiato in un altro array , possibilmente nel corso di una operazione di ridimensionamento ), il programmatore dovrebbe fare in modo di eliminarlo. Memoria che non viene eliminata allocata , ma non più referenziato, può richiedere fino preziosa memoria e, nel tempo , causare quello che è conosciuto come una perdita di memoria

int i = 5; .

NewClass * class_ptr ;

class_ptr = new NewClass [ i] ;

class_ptr delete [ ] ;

Ora , la matrice a cui fa riferimento " class_ptr " sarà cancellato, e la memoria liberata per altri usi .

 

Programmazione © www.354353.com