- tehokkaiden ja turvallisten C++-ohjelmien laatiminen
|
C-ohjelmointi (tai vastaavat tiedot) |
- selittää kielen tärkeimmät abstraktiomekanismit
- selittää kielen tietorakennekirjaston (STL) periaatteet ja rakenne
- selittää, miksi ohjelmat tarvitsevat ylimäärätarkistuksia (assert)
- laatia ohjelmia, joissa käytetään valmiita luokkamalleja
- laatia yksinkertaisia tekstuaalista IO:ta käyttäviä sovelluksia
- selittää manuaalisen muistinhallinnan ongelmat ja vaarat
|
- selittää tarvittavia erityisrakenteita (kuten: explicit, friend, virtual, const, zero-arg. ctor., copy ctor.)
- käyttää ohjelmissa IO-/merkkijonokirjastoja
- käyttää kielen tietorakenteita (taulukot, listat, hakemistot) ongelmien ratkaisussa
- selittää tyyppijärjestelmään ja suoritusaikaisiin virheisiin liittyvät ongelmat ja puutteet
- käyttää kielen suojaus- ja tarkistusominaisuuksia ohjelmien luotettavuuden lisäämiseksi
- esitellä vakiomuuttujia ja - parametreja sekä laatia vakio-operaatioita
- selittää tietojen alustuksiin liittyvät ongelmat ja välttää niitä sopivilla tekniikoilla
- selittää resurssienhallinnan yleiset ongelmat ja kielen puutteet eri resurssien hallinnassa
- käyttää kielen abstraktiomekanismeja resurssien hallinnan ratkaisemiseksi
- selittää arvotyyppien tarve standartoiduille alustus-, kopiointi- ja purkuoperaatioille
- laatia tyypeille standardeja alustus-, kopiointi- ja purkuoperaatioita
- käyttää alku- ja loppuehtoja operaatioiden määrittelyssä
- käyttää invarianttitarkistuksia luokan määrittelyn yhteydessä
- selittää, mitä tarkoittaa operaation poikkeusturvalllisuus
- toteuttaa poikkeusturvallisia operaatioita
- selittää virtuaaliloperaation käyttötarpeen ja laatia itse virtuaalioperaatioita
- selittää, milloin tarvitaan itseensä sijoituksen tarkistus (self-assignment check)
- luoda ja poistaa dynaamisia olioita (muistitilan varaus, alustus ja manuaalilnen vapautus)
|
- laatia itse yksinkertaisia luokka- ja funktiomalleja
- selittää, milloin kääntäjä sitoo operaation staattisesti ja milloin taas dynaamisesti
- kuvata standardikirjaston tehokkuus- ja poikkeusturvallisuusominaisuudet
- kuvata olioiden ja luokkien suoritusaikainen rakenne
- selittää luokan virtuaalitaulun käyttö operaatioiden suoritusaikaisessa sitomisessa
- laatia tyyppejä, joiden arvojen kopiointi on turvallisuussyistä estetty
- laatia tyyppejä, joista paikallisten muuttujien esittely on turvallisuussyistä estetty
- laatia tyyppejä, joista arvojen/olioiden dynaaminen luonti on turvallisuussyistä estetty
- selittää, mitä tarkoittaa viipalointiongelma (slicing problem) arvojen sijoituksessa
- laatia tehokkaita laitteistoläheisiä ohjelmia (kuten osia virtuaalikoneista tai osia natiiveista systeemityökaluista)
|