Come funziona l'eliminazione in C++?
Come funziona l'eliminazione in C++?

Video: Come funziona l'eliminazione in C++?

Video: Come funziona l'eliminazione in C++?
Video: Как вернуть две вещи из функции C или C++ 2024, Novembre
Anonim

quando eliminare è usato per deallocare la memoria per a C++ oggetto di classe, il distruttore dell'oggetto è chiamato prima della memoria dell'oggetto è deallocato (se l'oggetto ha un distruttore). Se l'operando di Elimina operatore è un l-value modificabile, il suo valore è indefinito dopo l'oggetto è cancellato.

Inoltre, la domanda è: qual è la differenza tra l'eliminazione e l'eliminazione in C++?

Entrambi sono usati per lo stesso scopo, ma ne hanno ancora alcuni differenze , il differenze sono: Elimina è un operatore mentre free() è una funzione di libreria. Elimina libera la memoria allocata e chiama il distruttore. Ma free() dealloca la memoria ma non chiama il distruttore.

Ci si potrebbe anche chiedere, come funziona il nuovo C++? quando nuovo è usato per allocare memoria per a C++ oggetto di classe, il costruttore dell'oggetto viene chiamato dopo che la memoria è stata allocata. Quando si alloca un array usando il nuovo operatore, la prima dimensione può essere zero - il nuovo L'operatore restituisce un puntatore univoco.

Ci si potrebbe anche chiedere, qual è l'uso dell'operatore new e delete in C++?

C++ supporta l'allocazione dinamica e la deallocazione degli oggetti usando il nuovi ed elimina operatori . Queste operatori allocare memoria per gli oggetti da un pool chiamato thefree store. Il nuovo operatore chiama la funzione speciale operatore nuovo , e il elimina operatore chiama la funzione speciale operatore cancella.

Devo eliminare i puntatori C++?

1 risposta. tu no devo cancellare e, inoltre, non dovresti Elimina esso. Se la terra è un oggetto automatico, verrà liberato automaticamente. Quindi manualmente cancellare un puntatore ad esso, entri in un comportamento indefinito.