C++ тилинде өчүрүү кантип иштейт?
C++ тилинде өчүрүү кантип иштейт?

Video: C++ тилинде өчүрүү кантип иштейт?

Video: C++ тилинде өчүрүү кантип иштейт?
Video: Сайт тузуу 1 кадам 2024, Ноябрь
Anonim

Качан жок кылуу болуп саналат а үчүн эстутумду бөлүштүрүү үчүн колдонулат C++ класс объектиси, объекттин кыйратуучусу болуп саналат объекттин эсинен мурун чакырылат болуп саналат ажыратылган (эгерде объектте кыйратуучу болсо). Эгерде операнд үчүн жок кылуу оператор болуп саналат өзгөрүлүүчү l-маани, анын мааниси болуп саналат объекттен кийин аныкталбаган жок кылынат.

Ошондой эле суроо туулат, C++ тилинде жок кылуу менен жок кылуунун ортосунда кандай айырма бар?

Экөө тең бир эле максатта колдонулат, бирок дагы эле кээ бирлери бар айырмачылыктар , the айырмачылыктар төмөнкүлөр: жок кылуу аноператор, ал эми free() китепкана функциясы. жок кылуу Бөлүнгөн эстутумду бошотуп, деструкторду чакырат. Бирок free() бөлүү эстутумунан ажыратат, бирок деструкторду чакырбайт.

Ошондой эле, C++ жаңысы кантип иштейт? Качан жаңы а үчүн эстутум бөлүү үчүн колдонулат C++ класс объектисинде, объекттин конструктору эстутум бөлүнгөндөн кийин чакырылат. колдонуп массивди бөлүштүрүүдө жаңы оператор, биринчи өлчөм нөл болушу мүмкүн - жаңы оператор уникалдуу көрсөткүчтү кайтарат.

С++ тилинде жаңы жана өчүрүү операторунун эмне кереги бар?

C++ колдонуу менен объекттердин динамикалык бөлүштүрүүнү жана бөлүштүрүүнү колдойт жаңы жана жок операторлор . Булар операторлор бекер дүкөн деп аталган бассейнден объекттер үчүн эстутум бөлүү. The жаңы оператор атайын функцияны чакырат оператор жаңы , жана операторду жок кылуу атайын функцияны чакырат оператор жок кылуу.

C++ көрсөткүчтөрүн жок кылышым керекпи?

1 Жооп. Сен жок жок кылуу керек бул, жана, анын үстүнө, сен эмес, керек жок кылуу ал. Жер автоматтык объект болсо, ал автоматтык түрдө бошотулат. Ошентип, кол менен жок кылуу а көрсөткүч ага, сиз аныкталбаган жүрүм-турумга барасыз.