mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Satunnainen
speech play
speech pause
speech stop

Säilytetyn muistin ymmärtäminen funktioissa

Funktion yhteydessä "säilyttää" viittaa siihen, että funktio ei vapauta tai vapauta käyttämänsä muistin. Sen sijaan se säilyttää muistin ja on vastuussa sen purkamisesta, kun sitä ei enää tarvita.

Toisin sanoen muistia säilyttävä toiminto ei palauta muistia kasaan tai pinoon sen jälkeen, kun se on lopettanut sen käytön. Tämä tarkoittaa, että toiminto on vastuussa muistin käyttöiän hallinnasta, mikä voi olla hyödyllistä tietyissä tilanteissa, mutta vaatii myös huolellista hallintaa muistivuotojen välttämiseksi.

Otetaan esimerkiksi toiminto, joka varaa muistia suurelle tietorakenteelle ja palauttaa sitten osoitin kyseiseen tietorakenteeseen soittajalle. Jos toiminto ei vapauta muistia, kun sitä ei enää tarvita, toiminto säilyttää muistin ja soittaja on vastuussa sen purkamisesta myöhemmin. Tämä voi johtaa muistivuotojin, jos soittaja unohtaa vapauttaa muistin.

Sitä vastoin toiminto, joka palauttaa osoittimen pinoon tai kasaan varattuun muistiin ja vapauttaa sitten muistin, kun sitä ei enää tarvita (eli ` malloc" ja "free") eivät säilytä muistia. Muisti vapautetaan takaisin kasaan tai pinoon heti, kun toiminto lopettaa sen käytön, joten soittajan ei tarvitse huolehtia muistin käyttöiän hallinnasta.

Knowway.org käyttää evästeitä tarjotakseen sinulle paremman palvelun. Käyttämällä Knowway.orgia hyväksyt evästeiden käytön. Tarkempia tietoja saat tutustumalla evästekäytäntöömme. close-policy