Lisää tyyliseikkoja¶
Kurssimateriaalin 4-kierroksella kerrottiin tyylisäännöistä aika laajasti. Siinä vaiheessa dynaamisesta muistinhallinnasta ei ollut puhuttu vielä mitään, joten aiheeseen liittyviä tyyliseikkojakaan ei voitu silloin vielä esitellä.
Tällä kurssilla käytössä olevat dynaamisen muistinhallinnan tyyliseikat luetellaan alla:
- Dynaamisesti varatun muistin vapauttaminen on pääsääntöisesti sen olion tai moduulin vastuulla, joka varasi muistin.
- Jos
delete
-komento kohdistuu osoitinmuuttujaan, johon voi sijoittaa, niin sen arvoksi sijoitetaannullptr
hetidelete
-komennon jälkeisessä lauseessa. - Purkajan tulee vapauttaa kaikki olion elinkaarensa aikana varaamat resurssit.
- Tarpeettoman kopiorakentajan ja sijoitusoperaattorin käyttö estetään
(tällä kurssilla)
esittelemällä ne luokan
public
-osassa ja käyttämällä sanaadelete
, kuten on kerrottu kurssimateriaalissa kierroksen 9 lopussa. - Ellei ole mitään perusteltua syytä, niin normaaliosoittimia ja älykkäitä osoittimia ei pidä käyttää sekaisin.
Seuraavalla kierroksella tutustumme graafisiin käyttöliittymiin.
Niihin liittyvistä muistinhallinta-asioista kerrotaan
widgettejä käsittelevässä osiossa erityisesti parent-child -mekanismin
yhteydessä.
Mekanismi yksinkertaistaa muistinhallintaa, jolloin delete
-komennon
tarve vähenee.
Sitä kuitenkin tarvitaan niiden olioiden muistin vapauttamiseen,
jotka on luotu new
-komennolla ja joilla ei ole vanhempaa.