Vad är den största skillnaden mellan ta bort [] och ta bort?
Vad är den största skillnaden mellan ta bort [] och ta bort?

Video: Vad är den största skillnaden mellan ta bort [] och ta bort?

Video: Vad är den största skillnaden mellan ta bort [] och ta bort?
Video: How Do We Prevent Nuclear War? | Win-Win with Liv Boeree | #3 2024, November
Anonim

Anledningen till att det finns separata radera och radera operatörer är det radera anropar onedestructor medan radera måste slå upp storleken på arrayen och kalla det många destruktörer. Att använda den ena där den andra behövs kan naturligtvis orsaka problem.

Dessutom, vad är skillnaden mellan gratis () och radera?

Skillnader mellan radera operatör och fri() fungera radera är en operatör medan fri() är en biblioteksfunktion. radera gratis det tilldelade minnet och callsdestructor. Men fri() avallokerar minne men anropar inte destructor. radera är snabbare än fri() eftersom en operatör alltid är snabbare än en funktion.

Vet också, vad gör delete i C ++? radera () i C ++ Ta bort är en operatör som är används för att förstöra array- och icke-array(pointer)-objekt som är skapat av nya uttryck. Som betyder Radera operatören tilldelar minne från heap. Pekare till objekt är inte förstört, värde eller minnesblock som pekas av pekaren är förstörd.

Härav, vad är skillnaden mellan ta bort och ta bort?

Radera och avlägsna definieras ganska likartat, men de viktigaste skillnad mellan dem är det radera innebär att radera (d.v.s. gjorts obefintlig eller icke-återställbar), medan avlägsna betyder take away och setaside (men hålls kvar).

På vilket sätt skiljer sig destructor från delete-operatören?

Den första förstörare , kallad hela objektet förstörare , utför förstörelsen utan att anropa radera () på objektet. Den andra förstörare , ringde ta bort förstörare , samtal radera () efter att förstöra objektet. Om ett objekt förstörs men inte raderade från högen, ringande operatör radera är fel.

Rekommenderad: