Ո՞րն է ջնջման []-ի և ջնջման հիմնական տարբերությունը:
Ո՞րն է ջնջման []-ի և ջնջման հիմնական տարբերությունը:

Video: Ո՞րն է ջնջման []-ի և ջնջման հիմնական տարբերությունը:

Video: Ո՞րն է ջնջման []-ի և ջնջման հիմնական տարբերությունը:
Video: ОБВАЛ РЫНКОВ.БЕЗРАБОТИЦА В США.ДОЛЛАРОВЫЙ ПОТОК.НЕФТЬ.VIX.SP500.DXY.ЗОЛОТО.ЕВРО.КУРС ДОЛЛАРА РУБЛЯ 2024, Մայիս
Anonim

Առանձին լինելու պատճառը ջնջել և ջնջել օպերատորները դա է ջնջել կոչ է անում onedestructor մինչդեռ ջնջել պետք է փնտրել զանգվածի չափը և անվանել այդքան շատ կործանիչներ: Բնականաբար, մեկի օգտագործումը, որտեղ մյուսը պահանջվում է, կարող է խնդիրներ առաջացնել:

Բացի այդ, ո՞րն է տարբերությունը անվճար ()-ի և ջնջման միջև:

Տարբերությունները ջնջման միջև օպերատոր և անվճար() ֆունկցիան ջնջել օպերատոր է, մինչդեռ անվճար() գրադարանային գործառույթ է: ջնջել անվճար հատկացված հիշողությունը և զանգերի կործանիչը: Բայց անվճար() անջատել հիշողությունը, բայց չի կանչում destructor: ջնջել ավելի արագ է, քան անվճար() քանի որ օպերատորը միշտ ավելի արագ է, քան ֆունկցիան:

Նաև գիտեք, թե ինչ է անում delete -ը C ++-ում: ջնջել () մեջ Գ ++ Ջնջելն է օպերատոր, որը է օգտագործվում է զանգված և ոչ զանգված (ցուցիչ) օբյեկտները ոչնչացնելու համար, որոնք են ստեղծված նոր արտահայտությամբ. Ինչը նշանակում է Ջնջել օպերատորը տեղաբաշխում է հիշողությունը կույտից: Ցույց դեպի առարկություն է ոչ ոչնչացված, արժեք կամ հիշողության բլոկ՝ մատնանշված ցուցիչով է ավերված.

Այստեղից ո՞րն է տարբերությունը հեռացնելու և ջնջելու միջև:

Ջնջել և հեռացնել սահմանվում են միանգամայն նման, բայց հիմնական միջև տարբերությունը դրանք դա է ջնջել նշանակում է ջնջել (այսինքն՝ դարձել է գոյություն չունեցող կամ չվերականգնելի), մինչդեռ հեռացնել նշանակումներ վերցնել և նստատեղ (բայց գոյություն ունի):

Ինչո՞վ է դեստրուկտորը տարբերվում ջնջման օպերատորից:

Առաջինը կործանիչ , կոչվում է ամբողջական օբյեկտ կործանիչ , ավերումը կատարում է առանց կանչելու ջնջել () օբյեկտի վրա: Երկրորդ կործանիչ , կոչվում է ջնջելով կործանիչը , զանգեր ջնջել () օբյեկտը ոչնչացնելուց հետո: Եթե օբյեկտը ոչնչացվել է, բայց ոչ ջնջված է կույտից՝ կանչելով օպերատորի ջնջում սխալ է.

Խորհուրդ ենք տալիս: