Tapahtumat

Kun kirjaudut sisään näet tässä ilmoitukset sinua kiinnostavista asioista.

Kirjaudu sisään

Entisiä Symbian-koodareita täällä? Muistatteko miten cleanup stack toimi

Vierailija
15.01.2024 |

Ja näettekö siitä mahdollisesti joskus vielä painajaisia?

Onneksi nykyään on modernit C++ -poikkeukset käytössä kaikkialla!

Kommentit (1)

Vierailija
1/1 |
23.08.2024 |
Näytä aiemmat lainaukset

Symbianin cleanup stack liittyi siihen että ainoastaan stackista vapautetaan muistia kun mennään skoopin ulkopuolelle (esim. palataan metodista). Heap-varaukselle muisti jää vapauttamatta exceptionille. Tähän heap-ongelmaan on sitten kehitetty erilaisia ratkaisuja. Nykyisessä C++:ssa on std:auto_ptr (vanha tapa) ja std:unique_ptr (uudempi tapa). Symbianin aikaan ei näitä vielä ollut mutta idea oli vastaava: tehdään "wrapperi" joka stack-vapautuksen kautta kutsuu destruktoria (RAII). Suoraanhan tämä ei liity mitenkään C++-poikkeuksiin vaan RAII-tyylisen toiminnallisuuden piilotukseen uudemmilla C++-versioilla.

Sisältö jatkuu mainoksen alla
Sisältö jatkuu mainoksen alla

Kirjoita seuraavat numerot peräkkäin: kaksi yksi kaksi