C++ Ohjelmoijan käsikirja. Hakemisto. #ifdef 394 #ifndef 394, 396 ympäristön tuki 396 koodi, monistamisen välttäminen

Samankaltaiset tiedostot
INSIDE C++ Ohjelmoijan käsikirja. Ivor Horton WROX PRESS

Ohjelman virheet ja poikkeusten käsittely

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Olio-ohjelmointi Syntaksikokoelma

Luokan operaatiot. Osoittimet ja viittaukset luokan olioihin

Mallit standardi mallikirjasto parametroitu tyyppi

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Virtuaalifunktiot ja polymorfismi

C++ rautaisannos. Kolme tapaa sanoa, että tulostukseen käytetään standardikirjaston iostreamosassa määriteltyä, nimiavaruuden std oliota cout:

C++11 Syntaksi. Jari-Pekka Voutilainen Jari-Pekka Voutilainen: C++11 Syntaksi

13 Operaattoreiden ylimäärittelyjä

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. X Poikkeusten käsittelystä

Operaattoreiden uudelleenmäärittely

\+jokin merkki tarkoittaa erikoismerkkiä; \n = uusi rivi.

12 Mallit (Templates)

Demo 6 vastauksia. 1. tehtävä. #ifndef #define D6T1 H D6T1 H. #include <iostream> using std::ostream; using std::cout; using std::endl;

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Periytyminen. Luokat ja olio-ohjelmointi

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Java-kielen perusteet

TTY Ohjelmointi I & II C++-kirjastoreferenssi versio 2.2

Luokassa määriteltävät jäsenet ovat pääasiassa tietojäseniä tai aliohjelmajäseniä. Luokan määrittelyyn liittyvät varatut sanat:

Tietotyypit ja operaattorit

Osoittimet. Mikä on osoitin?

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU

4. Luokan testaus ja käyttö olion kautta 4.1

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

Esimerkki luokkahierarkiasta: C++-kielen IOstream-kirjasto

Geneeriset luokat. C++ - perusteet Java-osaajille luento 6/7: Template, tyyppi-informaatio, nimiavaruudet. Geneerisen luokan käyttö.

Valinnat ja päätökset

VIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Standardi mallikirjasto

C++11 lambdat: [](){} Matti Rintala

Java-kielen perusteet

Perustietotyypit ja laskutoimitukset

Ohjelmointi 1 Taulukot ja merkkijonot

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. V Geneerisyys

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Tässä dokumentissa kuvataan Keimo-projektissa sovellettavia ohjelmointikäytäntöjä. Päivämäärä Projektiryhmä Keimo

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa

ITKP102 Ohjelmointi 1 (6 op)

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

13. Loogiset operaatiot 13.1

1. Omat operaatiot 1.1

Osoitin ja viittaus C++:ssa

7. Oliot ja viitteet 7.1

Sisältö. 22. Taulukot. Yleistä. Yleistä

Tietueet. Tietueiden määrittely

Ohjelmointikieli TIE Principles of Programming Languages Syksy 2017 Ryhmä 19

Taulukot. Jukka Harju, Jukka Juslin

Lisää perustietotyypeistä

Olio-ohjelmointi Poikkeusten käsittelystä. 1. Johdanto

Ohjelmointi funktioiden avulla

13. Loogiset operaatiot 13.1

Sisältö. 2. Taulukot. Yleistä. Yleistä

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Luennon sisältö Tyypit int, char, float, double signed, unsigned short, long Vakiot const Rakenteet if, for, while, switch, do-while Syöttö ja tulostu

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. I Johdanto ohjelmointiin C++kielellä

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Tehtävä 1. TL5302 Olio-ohjelmointi Koe Malliratkaisuja. Tässä sekä a)- että b)-kohdan toimiva ratkaisu:

Loppukurssin järjestelyt C:n edistyneet piirteet

14. Poikkeukset 14.1

Ehto- ja toistolauseet

Ohjelmointiharjoituksia Arduino-ympäristössä

Harjoitustyö: virtuaalikone

Listarakenne (ArrayList-luokka)

14. Poikkeukset 14.1

Java kahdessa tunnissa. Jyry Suvilehto

Luokat. Luokat ja olio-ohjelmointi

Metodit Arvotyyppi. Metodit Arvotyyppi. Metodit Parametrit. Metodit Parametrit. Metodit Kuormittaminen. Metodit Kuormittaminen. Javan perusteet

STL:n uudistukset. Seppo Koivisto TTY Ohjelmistotekniikka

ITKP102 Ohjelmointi 1 (6 op)

1. luento. Ohjelmointi (C) T0004 Syksy luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

TIETORAKENTEET JA ALGORITMIT

11. Javan valintarakenteet 11.1

Olio-ohjelmointi Geneerisyys. 1. Johdanto

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Muuttujien roolit Kiintoarvo cin >> r;

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

5/20: Algoritmirakenteita III

Table of Contents. T Olio-ohjelmointi C/C++ perusteita Jukka Jauhiainen OAMK Tekniikan yksikkö 2010, 2011

815338A Ohjelmointikielten periaatteet

Ehto- ja toistolauseet

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 27. lokakuuta 2009

D-OHJELMOINTIKIELI. AA-kerho, 33. Antti Uusimäki. Arto Savolainen

Modulaarisessa ohjelmoinnissa jaetaan ohjelma osiin (moduuleihin), jotka ovat yksinkertaisia ja lyhyitä.

Loppukurssin järjestelyt

Syöttö- ja tulostusoperaatiot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

ITKP102 Ohjelmointi 1 (6 op)

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset

++ 153, 759 += 98 = 102, 751 == 102 -> 756 ->* 655 >> 165, 1063? 133 ^ ~165

15. Ohjelmoinnin tekniikkaa 15.1

Transkriptio:

Hakemisto Symbolit!, looginen NOT 127,129!=, vertailuoperaattori 111, 207 # operaattorin uudelleenmäärittely 534 esikäsittelijän komennot 383 merkkijonon korvaus, esikäsittelijän makrot 391 ## useammat makron parametrit 392 operaattorin uudelleenmäärittely 534 #define, esikäsittelijäkomento 386 katso myös makrot, esikäsittelijän hyödyt 387 const 386 merkkijonon korvaus 391 #else, esikäsittelijäkomento 397 katso myös if-else -lauseet #error, esikäsittelijäkomento 399 #if, esikäsittelijäkomento 393 #endif 393 C++ Ohjelmoijan käsikirja Hakemisto #ifdef 394 #ifndef 394, 396 ympäristön tuki 396 koodi, monistamisen välttäminen 394 lausekkeen vakioarvot 396 ympäristön tuki 396 symbolit 393, 394 esimerkki 394 #include,esikäsittelijäkomento 358, 15, 43, 509, 524 <>, tyhjät merkit 11, 384, 385 luokat, periyttäminen 581 omat lähdetekstitiedostot 385 385 otsikkotiedostot 384 nimiavaruudet, laajentaminen 367 #line, esikäsittelijäkomento 398 #pragma, esikäsittelijäkomento 399 #undef, esikäsittelijäkomento tunnisteet 387 esimerkki 387 %, jakojäännös 39 & osoite-operaattori 233 bittitason AND 84 viittausparametri 297 viittauksen määrittely 300 &&, looginen AND 127, 128 () funktio-osoittimet 338 vertailuoperaattorit 114 virtafunktiot 764 * osoitus-operaattori 234 osoittimien esittely 232 funktio-osoittimet 338 + yhteenlasku 551 merkkijonojen yhdistäminen 202 ++, lisäysoperaattori 53, 566 jälkiliite 53 etuliite 53, vähennysoperaattori 53, 566 jälkiliite 53 etuliite 53 -> osoitin jäseneen -viittaus 426, 467, 477 epäsuora jäseneen -viittaus 732 ->*, epäsuora osoitin jäseneen 659 909

910 C++ Ohjelmoijan käsikirja #include, omat lähdetekstitiedostot 385 merkkijonoliteraalit 32., suora jäsenen valinta - operaattori 451 struktuureille 419 unioneille 430.*, suora osoitin jäseneen -operaattori 659.cpp -tiedostot 357, 507, 524.exe, suoritettavat tiedostot 16, 358.h, otsikkotiedostot 357, 369.hpp, otsikkotiedostot 357.obj, objektitiedostot 358 /, kokonaisluvun jakooperaattori 39 \0, nell-merkki, merkkijonot 188 ::, näkyvyysalueoperaattori 104, 361 ; do-while-silmukat 149 for-silmukat 152, 155, 160 funktion prototyyppi 286 <, vertailuoperaattori 111, 113, 535 merkkijonojen vertailu 207 << bittien siirto-operaattori 81, 83 <=, vertailuoperaattori 111 merkkijonojen vertailu 207 <> #include, tyhjät merkit kulmasulkeiden sisällä 11, 384, 385 mallifunktiot 327 <cassert> 407 <cstdlib> 402 <ctime> 402 = funktion parametri, oletusarvo 736 sijoitusoperaattori 49, 544, 545, 548 malliparametri, oletusarvo 736 ==, vertailuoperaattori 111-113 osoittimet, testaus 238 merkkijonojen vertailu 207 >, vertailuoperaattori 111, 732 merkkijonojen vertailu 207 >=, vertailuoperaattori 111 merkkijonojen vertailu 207 >> bittien siirto-operaattori 81-83, 732?, ehto-operaattori 207 merkkijonojen vertailu 207?:, ehto-operaattori 131 {} taulukot esitely 180 alkiot 180 dynaaminen muistin varaus 264 merkkijonotyypit 204 [alku,loppu), puoliavoin väli 833 ^, bittitason poissulkeva OR 84, 87 poissulkeva OR -tila 87 _, tunnisteessa 12, tunnisteessa 12, 44 cplusplus, standardi esikäsittelijän makro 398 DATE, standardi esikäsittelijän makro 398 FILE, standardi esikäsittelijän makro 398 LINE, standardi esikäsittelijän makro 398 STDC, standardi esikäsittelijän makro 398 TIME, standardi esikäsittelijän makro 398 _X, tunnisteet 44 {} taulukon alustus 184 for-silmukat 152 nimiavaruudet 366, bittitason OR 84-86, looginen OR 127-128 ~, bittitason komplementti 84 0 puhdas virtuaalifunktio 645 desimaali/oktaalimuoto 38 A abort() 675, 698 abstrakti luokka 646 abstrakti luokka luokan rajapintana 649 epäsuora 649 esimerkki 649 esimerkki 647 muodostinfunktiot 647 accumulate(), algoritmi 847, 881

esimerkki 847 alasmuunnos, dynaamiset muunnokset 642 algoritmit, STL 824 accumulate() 847 esimerkki 847 copy() 856 etsintä ja valinta 825 funktio-oliot 825 iteraattorit esimerkki 845 välitys 845 yhdistäminen 839 järjestys 825 kuuluminen 825 muuntaminen 825 numeerinen 825 partial_sum() 847 esimerkki 847 sijoittaminen 825 transform() 825 alkion tutkinta, debuggaus 400 alkiot säiliöt 860 esimerkki 862 vaatimukset 860, 861 taulukot 180 taulukot 180 sizeof() 186 alkuarvolistat 527 muodostinfunktiot 461 allekirjoitus, funktiot 283 uudelleenmäärittely 320 alustus muuttujat 45 silmukat 153 muuttujien näkyvyysalue 155 struktuurit 418 alkuarvolistat 436 unionit 431 alustus 418 AND (&), bittioperaattori 84 animaatio, poissulkeva OR -tila 87 ANSI/ISO-standardi. C++ 10 Standardi Mallikirjasto (STL) 829 ANSIyhteensopimattomat kääntäjät, for-silmukat 155 append() 857 arvoparametrit, funktion parametrit 287 esimerkki 288 osoittimet 289 esimerkki 290 taulukot 291 esimerkki 291 osoitinmuoto 293 arvoparametrit, poikkeukset 689 ASCII-koodi 19 askelpalautin, koodinvaihtomerkki 20 assert()-makro, debuggaus 407 esimerkki 407 assosiatiiviset säiliöt 875 map 824, 875 esimerkki 876 multimap 824 esimerkki 878 multiset 824 set 824 audit() 858 auto, automaattiset muuttujat 100 Hakemisto automaattinen säilytysaika 99 automaattiset muuttujat 100 auto 100 esimerkki 100 automaattiset muuttujat 100 auto 100 esimerkki 100 funktion paluuarvot osoittimet 306 viittaukset 311 paikallinen näkyvyysalue 100 automaattiset oliot 522 avain, peräkkäissäiliöt 875 avainsanat. Katso varatut sanat avaustapa, ios_base 770 average() 834, 836, 839, 845 avoimet funktiot 312, 388 katso myös makrot virtuaalifunktiot 633 B back() 832 back_inserter() 856 bad() 783 bad_alloc, new 699 bad_exception 698 BASIC 8 begin() 828 binäärimuoto 34 bitit 34 negatiiviset arvot 36 kahden komplementti 37 911

912 C++ Ohjelmoijan käsikirja merkkibitti 36 yhden komplementti 37 binäärioperaattorit 32 looginen AND (&&) 127 looginen OR ( ) 127 pilkku 162 tietotyyppien sekoitus säännöt 72 uudelleenmäärittely 534 katso myös operaattorit, uudelleenmäärittely vertailu 111 binääriset tilailmaisimet. Katso liput binääritila, virtaoperaatiot 756, 784 esimerkki 785 fstream 794 hajasaanti 794 numeerinen data 788 esimerkki 789 read() 788, 789 write() 788, 789 bitit 34 bittioperaattorit 81 AND 84 esimerkki 89 komplementti (~) 84 OR ( ) 84, 86 poissulkeva OR (^) 84, 87 poissulkeva OR-tila 87 siirto-operaattorit 81 << 81, 83 >> 81, 82, 83 merkilliset kokonaisluvut 83 suoritusjärjestys 84 bool 112 boolalpha 114 Boole, George 112 booleanliteraalit 112 break-lauseet 135, 170 esimerkit 135 katso myös switch-lauseet silmukkasesimerkit 171 switch-lauseet 134 switch-lauseet ilman breaklausetta 136 bugit, niiden välttäminen 501, 503 C C 8 suhteet C++-kieleen 8, 9 C++ ANSI-standardi 10 C++:n syöttö/tulostus 755 esimerkkiohjelma 10 hyödyt 9 lauseet 14 merkkikoosta riippuva kieli, C++ 44 ohjelman rakenne 14 suhteet C-kieleen 8, 9 yhteenveto perusteista 27 case-osat, switch-lause 134 break-lauseet 135 esimerkit 134, 135 case-arvot 135 toimenpiteet, jakaminen 136 default-osa 135 esimerkit 134, 135 catch-lohko, poikkeukset 670 ( ) 693 arvoparametrit 689 esimerkki 671, 672, 693 cctype 119 funktiot merkkien muunnokset 120 merkkien testaus 119 katso myös cwctype tolower() 138 cerr 757 ostream 758 char 47, 48, 63 cctype, merkkien testaus 119 esimerkki 63 etumerkillinen arvo 63 etumerkittömät arvot 63 katso myös merkkitaulukot merkit, muunnos kokonaisluvuksi 65 merkkikoon muunnokset, toupper() ja tolower() 120 merkkitaulukot 188 katso myös taulukot moniulotteiset merkkitaulukot 197 osoittimet 260 osoittimet, alustus 239 const char 239 tyhjät merkit 63 cin 11, 56, 757 istream 758 operator>>() 757, 760 class-avainsana 414 clear() 774, 784, 828, 834 clog 757 ostream 758 close() 767, 771 COBOL 7 compare() 210 const 55 const<>cast() 481 esimerkki 480 muuttuvat jäsenmuuttujat 480 #define 386 arvoparametrit, taulukon välitys funktiolle 294 esimerkkiohjelma 55 funktio 504, 509 jäsenfunktiot 478 staattinen 492

uudelleenmäärittely 480 jäsenmuuttujat linkitys 359 ulkoiset muuttujat 362 muuttujat 55 oliot 478 operaattorit, uudelleenmäärittely 539 operator[]() 564 operator++(), jälkiliitteellinen muoto 566 poikkeukset catch-lohkot 671 tietotyypit 55 uudelleenmäärittely, funktiot 324 osoitinparametrit 325 viittausparametirt 325 viittausparametri 299 virtuaalifunktiot 632 dynamic_cast<>() 643 const char, charosoittimet 239, 248 const<>cast(), muuttuvat jäsenmuuttujat 481 constructor_tests() 864 continue-lause 167 silmukkaesimerkki 167 copy() 831, 856, 873 count() 878 cout 11, 21, 757 operator<<() 757, 761 osoittimet 241 ostream 758 cstddef 77 cstring 260 osoittimet 260 Ctrl-Z 840 C-tyyliset kommentit. Katso moniriviset kommentit C-tyyliset merkkijonot. Katso taulukot, merkkitaulukot cwctype 122 funktiot, listaus 122 katso myös cctype D debuggaus assert()-makro 407 esimerkki 407 esikääntäjän komennot 400 esimerkki 401 katso myös virheet, virheiden käsittely ja poikkeukset sisäänrakennettu debuggaus 400 arvojen tutkinta 400 keskeytyskohdat 400 suorituksen seuraaminen 400 deque, peräkkäissäiliö 824 desimaalimuoto 33 0 38 dec 90 difference() 401 double, liukulukuarvot 57 muuttujat 58 do-while -silmukat 146, 149 ; 149 esimerkki 149 perusmuoto 149 päättymättömät silmukat 171 silmukan ehtolauseke 149 sisäkkäiset, esimerkki 165 dynaaminen linkityskirjasto 18 hyödyt 18 Hakemisto dynaaminen muistinvaraus 246, 261 delete 262 operaattori delete() 573 esimerkki 268 jäsenfunktiot 548 muistin pirstoutuminen 266, 267 muistivuodot 266 funktio paluuarvot 311 new 262 operaattori new() 573 operator=() 545 osoittimet 261 delete 264 muistivuodot 267 new 263 taulukot 264 vapaa muisti 262 käyttöesimerkki 265 muistin pirstoutuminen 267 dynaaminen sidonta 627 perityt jäsefunktiot 627 virtuaalifunktiot 628, 632 dynaaminen säilytysaika 99 dynaaminen tyyppi, osoittimet 623 dynamic_cast<>(), virtuaalifunktiot 642, 644 alasmuunnokset 642 const 643 ristiinmuunnokset 642 E ehtolauseke, forsilmukat 153 ehto-operaattori 913

914 C++ Ohjelmoijan käsikirja?, merkkijonojen vertailu 207?: 131 esimerkit 132 ei-staattiset jäsenmuuttujat 522 ei-tyyppiparametrit, malliluokka 709, 724 esimerkki 724, 725, 730 jäsenfunktiot, malliluokat 726 oletusarvot 736 = 736 parametrit 728 osoittimet 729 taulukot 729 eksplisiittinen ilmentäminen, mallit 736 template-avainsana 737 eksplisiittinen muunnos 73 esimerkki 74 static_cast 74 esimerkki 74 eksplisiittiset tyypinmuunnokset 73 const<>cast() 481 dynamic_cast<>() 642, 644 eksplisiittinen tyypinmuunnos 73 esimerkki 74 static_cast 74 katso myös tietotyypit, tietotyyppien sekoitus luetellut tietotyypit 96 staattinen muunnos 639 static_cast<>() 640 vanhantyylinen C++tekniikka 76 eksponentti, liukulukuarvot 56 elmulointi 857 else 123 ehto-operaattori (?:) vs. if-else 132 katso myös if ja if-else riippuvan elsen ongelma 125 empty() 828 end() 828 endl, rivinvaihtomerkki 21, 22 eof() 768, 774, 783, 787 epäsuora jäsenen valintaoperaattori, -> 426 epäsuorat abstraktit luokat 649 esimerkki 649 epäsuorat kantaluokat 579 toistuva perintä 614 erase() 225, 828, 833 erikoistaminen, malliluokat 739 char* 739 osittainen erikoistaminen 739 T* esimerkki 740 täydellinen erikoistaminen 739 erikoistaminen, STL 882 esikääntäjä 383 debuggaus 400 esimerkki 401 makrot avoimet funktiot, vs. 388 merkkijono parametrinä 391 parametrit 392 standardi 398 virhelähteet 389 esikääntäjän komennot 17 385 # 383 uudelleenmäärittely 534 #define 386 hyödyt 387 merkkijonon korvaus 391 #error 399 #include 11, 384 #line 398 #pragma 399 #undef 387 <> 384 katso myös esikääntäjä loogiset komennot 393 #else 397 #if 393 luettelo 383 esimerkkiohjelmat abstraktit luokat 647 epäsuora periyttäminen 649 algoritmit iteraattorit 845 aritmeettiset operaattorit 39 arvot, vertailu 113 assert()-makro, debuggaus 407 automaattiset muuttujat 100 bittioperaattorit 89 catch-lohkot, ( ) 693 cctype, merkkien muuntaminen 120 char, merkin arvot 63 const, käyttö 55 debuggaus assert()-makro 407 esikääntäjä 401 do-while -silmukat 149 dynaaminen muistinvaraus, merkkijonojen lajittelu 268 ehto-operaattori 132 eksplisiittinen muunnos 74 esikääntäjä, debuggaus 401 fiksut osoittimet, käyttö 572 for-silmukat 153, 505, 511 liukulukuarvot 157 pilkkuoperaattori 162 tieteellinen esitystapa 158 usean muuttujan alustus 160

funktiot esittelyt 284 funktion käyttö 281 funktio-osoittimet 339 funktio-osoittimet, välitys 341 jäsenfunktiot 475, 663 mallifunktiot 329, 333, 377 moniulotteiset taulukot, välitys funktiolle 295 nimiavaruudet 373 oletuskopiomuodostimet 469 oletusmuodostinfunktiot 457 operaattorit, uudelleenmäärittely 536 osoittimet, välitys funktiolle 290 paluuarvo, osoittimet 307 parametriluettelo, oletusarvot 304 parametrit, välitys funktiolle 288 perityt jäsenfunktiot 626 rekursiiviset funktiot 344, 346, 349 staattiset muuttujat 313 taulukot, välitys funktiolle 291 uudelleenmäärittely 320 viittausparametrit 298 virtuaalifunktiot 629 ystäväfunktiot 471 if-else -lauseet 123, 506 if-lauseet 115, 166 sisäkkäiset 117 iteraattorit algoritmit, iteraattoreiden välitys 845 istream_iterator 839, 841 keskiarvon laskenta 836, 847 oma, täydellinen iteraattori 849 oman luominen 842 jäsenmuuttujat, osoittimet 659 kantaluokat kantaluokan käsittelijät, poikkeukset 687 muodostinfunktiot 595 osoittimet, olioiden tuhoaminen 653 kokonaislukumuuttujat 45 kopiomuodostin, periytetyssä luokassa 600 linkitetty lista 498 list-säiliö, STL 869 liukulukulaskenta 59 muokkausfunktiot 61 yleiset virheet 61 loogiset operaattorit 129 luetellut tietotyypit 96 luokat abstraktit luokat 647 jäsenet, suojatut 588 jäsenmuuttujat, staattiset 488 kantaluokat 595, 653 kopiomuodostimet 469, 600 käyttö 450 luokan suojatut jäsenet 588 mallit, käyttö 717 muodostinfunktiot 452, 456, 457 oliotaulukot 482 operaattorit, uudelleenmäärittely 536 periytetyt luokat 583 sizeof() 484 staattiset jäsenmuuttujat 488 this 475 tuhoajafunktiot, luokkahierarkia 603 virtuaaliset tuhoajafunktiot 655 ystäväfunktiot 471 malliluokat ei-tyyppiparametrit 730 käyttö 717 sisäkkäiset mallit 745 malliluokat 717 map-säiliö 876 merkkimuunnokset, cctype Hakemisto 120 moniperintä 613 multimap-säiliö 878 muuttujan näkyvyysalue, ehtolausekkeet 139, 140 nimiavaruudet 367 funktiot 373 mallifunktiot 377 using-esittely 373 näkyvyysalueoperaattori, :: 104 oliot osoitin kantaluokkaan, olioiden tuhoaminen 653 virrat 804, 806, 818 virtuaaliset tuhoajafunktiot 655 operaattorit, uudelleenmäärittely 536 fiksut osoittimet, käyttö 572 operator[]() 559 operator+() 553 operator=() 548 operator[]() 559 operator+() 553 operator=() 548 osoittimet char-osoittimet 240 fiksut osoittimet, käyttö 572 funktio-osoittimet 339 funktio-osoittimet, välitys 341 jäsenfunktiot, osoittimet 663 jäsenmuuttujat, osoittimet 659 kantaluokka, olioiden tuhoaminen 653 käyttö 236 olio-osoittimet 427 osoitintaulukot 241 osoitusoperaattori (*) 234 string-tyyppi, lajittelu 244 taulukon nimi osoittimena 254 periytetyt luokat 583 periytyvyys epäsuora 649 915

916 C++ Ohjelmoijan käsikirja moniperintä 613 perityt jäsenfunktiot 626 poikkeukset, muodostaminen ja käsittely 672 catch-lohkot, ( ) 693 kantaluokan käsittelijä 687 luokan oliot 682 luokkahierarkiat 685 poikkeuksen uudelleenmuodostaminen 690 poikkeusluokat 682 polymorfismi abstraktit luokat 647 epäsuora perintä 649 jäsenfunktiot, osoittimet 663 jäsenmuuttujat, osoittimet 659 perityt jäsenfunktiot 626 virtuaalifunktiot 629 saantitapa periytyvyydessä 586 saantitavan hallintakomennot virtuaalifunktiot 634 sijoitusoperaattori 50 silmukat, sisäkkäiset 164 Standardi mallikirjasto (STL) algoritmit, iteraattoreiden välitys 845 iteraattorit 839, 841, 842,845,847, 849, 856 list-säiliö, käyttö 869 map-säiliö 876 muistinhallinta 858 säiliön alkiot 862 vector 826, 829, 836, 838, 863 string-tyypit etsintä 213 liittäminen 202 merkki, etsintä 216 merkkien käsittely 204 merkkijonon osa, korvaus 223 vertailu 207 struktuurit 419 struktuurin jäsenet 436 struktuurin jäsenfunktiot 423 struktuurin union-jäsenet 433 suojattu jäsen 588 switch-lause 134, 135 case-arvot 136 syöttövirrat, ifstream 768 säiliöt, STL alkiot 862 list-säiliö 869 map 876 multimap 878 vector 826, 829, 836, 838, 863 taulukot alkioiden lukumäärä 187 alustus 185 käyttö 181 luokkaolioiden taulukko 482 merkkijonot, merkkitaulukot 189 moniulotteiset merkkitaulukot 197 vector-säiliö 838 this 475 tiedoston hajasaanti 799 tiedostovirrat tiedostovirrat avaustapa 771 tiedostovirrat ifstream 768 tiedostovirrat osfstream 765 tietotyypit koko 78 maksimi- ja minimiarvot 79 tuhoajafunktiot luokkahierarkia 603 virtuaalinen 655 tulostuksen ulkonäkö 42 tulostusvirrat ofstream 765 tulostusvirrat, ofstream 765 ulkoiset muuttujat, linkitys 363 vapaa muisti, käyttö 265 vector-säiliö, STL 826 keskiarvon laskenta iteraattorien avulla 836 operaatiot 829 taulukon alkioiden keskiarvon laskenta 838 while-silmukat 147, 512 viittaukset, virtuaalifunktion kutsu 637 virrat binäärimuoto 785 binäärisen numeerisen tiedon luku/kirjoitus tiedostoon 789 oliot 765, 804, 806, 818 syöttövirrat, ifstream 768 tiedostovirrat, avaustapa 771 virtuaalifunktiot parametrien oletusarvot 636 saantitavan hallintakomennot 634 viittaukset, virtuaalifunktioiden kutsuminen 637 virtuaaliset tuhoajafunktiot 655 esittely 417 esittelylauseet 14 etuliite, operaattorit 53 suoritusjärjestys 54 etumerkilliset numerot 36 char 63 kokonaislukumuuttujat 48 merkkibitti 36 etumerkittömät kokonaislukumuuttujat 48 U 49 exception, standardi otsikkotiedosto 675 poikkeusluokat 701 hyödyt 701 omien periyttäminen

standardiluokista 702 exit() 558, 570, 676, 698 explicit-avainsana 462 extern 106 ulkoiset muuttujat 106 linkitys 360, 362 F fail() 767, 774, 783 Fibonacin sarjat 313, 315 fiksut osoittimet 566 esimerkkiluokka 567 käyttöesimerkki 572 toteutus 570 fill() 91 find() 212 find_first_not_of() 216 find_first_of() 216 find_last_not_of() 216 find_last_of() 216 fixed, modaalinen muokkausfunktio 62 flush() 782 for-silmukat 146, 152 ANSI-yhteensopimattomat kääntäjät 155 esimerkki 153, 505, 511 liukulukuarvot 156 esimerkki 157 muuttujan näkyvyysalue 155 perusmuoto ; 152, 160 {} 152 pilkkuoperaattori 161, 162 esimerkki 161, 162 päättymättömät silmukat 170 esimerkki 170, 174 struktuuri ; 155 tieteellinen esitystapa 158 FORTRAN 7 front() 832 front_inserter() 856 esimerkki 856 fstream 758, 764, 793 binääritila 794 esittely 793 open() 794 virrat, hajasaanti 794 binäärivirrat 794 esimerkki 799 funktio-oliot, STL 825 funktiot 11, 12, 199 abort() 675, 698 accumulate() 881 allekirjoitus, uudelleenmäärittely 320 avoimet funktiot 312, 388 katso myös makrot, esikääntäjä back_inserter() 856 bad() 783 begin() 828 cctype, otsikkotiedosto 119 clear() 774, 784, 828 close() 767, 771 const 504, 509 cwctype 122 dynaaminen muistin varaus 548 empty() 828 end() 828 eof() 768, 774, 783, 787 erase() 225, 828, 833 esittelyt 284 exceptions() 784 exit() 558, 570 fail() 767, 774, 783 fill() 91 find() 212 find_first_not_of() 216 find_first_of() 216 find_last_not_of() 216 Hakemisto find_last_of() 216 flush() 782 front() 832 front_inserter() 856 funktion allekirjoitus 283 funktion kutsut 278 kutsupino 278 staattiset muuttujat, kutsukertojen laskenta 312 funktion määrittely 280 otsikko 280 otsikko, yleinen muoto 280 runko 280, 281 funktion nimet 280 funktion prototyyppi 285 gcount() 781 get() 760, 780, 785, 809 int_tyyppi get() 780 istream& get(char& ch) 780 istream& get(char* ptaul, streamsize n) 780 istream& get(char* ptaul, streamsize n, char erotin) 780 getline() 191, 206, 748, 760 istream& getline(char* ptaul, streamsize n) 780 istream& getline(char* ptaul, streamsize n, char erotin) 780 globaalit operaattorifunktiot 539 binäärioperaattorit 543 const 539 unaariset operaattorit 544 insert() 221, 828, 832, 833 inserter() 856 is digit() 120 isalnum() 120, 122 isalpha() 119, 137 iscontrl() 120 isgraph() 120 islower() 119 isprint() 120 ispunct() 120 isspace() 120 isupper() 119 isxdigit() 120 917

918 C++ Ohjelmoijan käsikirja jäsenfunktiot 448 const 478 katso myös luokat luokan rajapinta, julkiset jäsenet 464 malliluokat 712 muodostinfunktiot 452 määrittely luokan ulkopuolella 454 oletusarvot 460 operaattoreiden uudelleenmäärittely 534, 543 osoittimet 661 periytyvyys 624 saantifunktiot 467, 480 staattinen 492 this 474, 478 yksityinen 466 kutsuminen 119, 497 kutsupino 278 käyttöesimerkki 281 lauseiden suoritus 11 linkitys 359 linkityksen ratkaisu 360 sisäinen linkitys 360 main() 11, 277, 366, 509, 511, 520, 524, 529 parametrit 301 mallifunktiot 326 <> 327 algoritmit 824 append() 857 class-avainsana 327 esimerkki 329 export 376 ilmentäminen 328 jäsenfunktiot, malliluokat 713 katso myös Standardi mallikirjasto (STL) mallin erikoistaminen 332 mallin uudelleenmäärittely 335 mallit, inline-avainsana 723 nimiavaruudet, mallien määrittely 376 parametrit 335 template-avainsana 327, 332 uudelleenmäärittely 334 malliluokat jäsenmuuttujien määrittely 712 max() 377, 378 muodostinfunktiot 452 katso myös luokat poikkeukset, muodostaminen 698 määrittely 280 otsikko 280 runko 280, 281 nimiavaruudet 372 esimerkki 373 mallifunktion määrittely 376 ohjelman rakenne, funktion rooli 277 oliot 500 open() 771, 774, 794 operaattorit, uudelleenmäärittely 534 const 539 globaalit operaattorifunktiot 539 operator delete() 573 operator new() 573 operator!() 767, 769, 787 operator () 566, 855 int 566 operator() 825 operator-() 855 operator*() 566, 567, 571, 573, 855 operator[] 849, 855 operator[]() 557, 558 operator+() 553, 556 operator++() 566, 844, 846 int 566 operator++ 855 operator+=() 556 operator<() 534, 536, 541 operator<<() 757, 761, 762 operator=() 544 544, 545, 548 operator==() 854 operator->() 566, 567, 571, 573 operator>>() 757, 760 operatorvoid*() 783, 787 osoittimet 337 alustus 338 esimerkki 339 esittely 338 osoitin funktioon -parametri 341 osoitintaulukot 343 otsikko paluuarvo 283-311 parametriluettelo 283, 302 paluuarvo 280, 283 osoittimet 306 return-lause 284 uudet muuttujat 311 viittaukset 311 void 284 parametriluettelo 280 oletusarvot 302 void 280, 284 parametrit 119, 282 funktio-osoittimet 341 main(), parametrit 301 muunnossäännöt 287 uudelleenmäärittely, oletusarvot 326 välitys funktiolle 287 peek() 780 poikkeukset, muodostaminen funktioissa 695 funktion try-lohko 695 pop() 745, 815, 820 prototyypit 285 ; 286 parametrien nimet 286 using 286 push() 745, 815, 819 push_back() 828, 833 päällekkäiset nimet ja

periytyvyys 606 read() 781, 788, 789, 797 rekursio 344 esimerkki 344 rfind() 219 runko 280, 281 muuttujan näkyvyysalue 281 seekg() 779 seekp() 779, 798 sqrt() 776 srand() 402, 511 staattinen, sisäinen linkitys 359, 360 staattiset muuttujat funktion kutsujen laskenta 312 strcat() 260 strlen() 261 strncat() 260 struktuurin jäsenet 423 esittely 424 substr() 206 tellg() 777 tellp() 777 time() 402 tolower() 120, 138 toupper() 120 unget() 780 uudelleenkäyttö 279 uudelleenmäärittely 212, 319 allekirjoitus 320 esimerkki 320 jäsenfunktiot, const 480 mallifunktiot 334 parametrien oletusarvot 326 parametriluettelo 320 virtuaalifunktiot 628, 632 dynaaminen sidonta 628 dynaamiset muunnokset 642 inline-avainsana 633 kantaluokan versio, kutsuminen 639 käyttöesimerkki 628 luokkahierarkiat 633 osoittimet 640 parametrien oletusarvot 636 puhtaan virtuaalifunktiot 645 saantitavan hallintakomento 634 viittaukset kutsussa 637 virtual-avainsana 628, 631 vtable 644 void 280, 284 write() 782, 788, 789 ystäväfunktiot 470 esimerkki 471 operaattoreiden uudelleenmäärittely 539, 540 G gcount() 781 get() 760, 780, 785, 809 int_tyyppi get() 780 istream& get(char& ch) 780 istream& get(char* ptaul, streamsize n) 780 istream& get(char* ptaul, streamsize n, char erotin) 780 getline() 191, 206, 748, 760 istream& getline(char* ptaul, streamsize n) 780 istream& getline(char* ptaul, streamsize n, char erotin) 780 globaali nimiavaruus 362, 366 katso myös globaali näkyvyysalue näkyvyysalueoperaattori, :: 362 unaarinen muoto 362 globaali näkyvyysalue 102, 359 katso myös näkyvyysalue Hakemisto linkitus 359 ulkoiset muuttujat 360, 362, 363 näkyvyysalueoperaattori, :: 104, 361 esimerkki 104 globaalit operaattorifunktiot 539 binäärioperaattorit 543 const 539 unaariset operaattorit 544 good() 783 goto-lause 139 H heap. Katso vapaa muisti heksadesimaalimuoto 20, 34, 35, 37 hex 90 osoittimet 237 hierarkiat, luokka 578 muodostinfunktiot 599 saantitavan määrittely 592 tuhoajafunktiot 602 hyödyt, C++ 9 I if-else -lauseet 122 ehto-operaattori (?:) vs. 132 esimerkki 123 katso myös #else ja if-lauseet muuttujan näkyvyysalue, lauselohkot 139 riippuvan elsen ongelma 125 sisäkkäiset 125 if 126 919

920 C++ Ohjelmoijan käsikirja if-lauseet 115 esimerkki 115, 116 if-else. Katso if-else -lauseet muuttujan näkyvyysalue, lauselohkot 139 silmukoiden sisällä 165 sisäkkäiset 117 esimerkki 117 if-else 125 try..catch -lohkot 671 katso myös poikkeukset ifstream 758, 764, 767 esimerkki 468 fail() 767 is_open() 767, 775 operator!() 767 tiedoston avaustapa 770 ilmentäminen 448 eksplisiittinen 736 esimerkki 717 implisiittinen 716 jäsenfunktiot 716 implisiittinen ilmentäminen, mallit 716 indeksi string-tyypit 201, 204 [] 204 taulukot 180 alkiot, viittaus 183 moniulotteiset taulukot 192 insert() 221, 828, 832, 833 inserter() 856 int 46, 511 bittioperaattorit 81 siirto-operaattorit 81 operator () 566 operator++() 566 int_tyyppi get() 780 invalid_argument, poikkeus 786 iomanip 43, 62 ios 758 ios::badbit, virran virheet 783 ios::beg, tiedoston avaustapa 779 ios::cur, tiedoston avaustapa 779 ios::end, tiedoston avaustapa 779 ios::failbit, virran virheet 783 ios::failure, virran poikkeukset 784 ios:eofbit, virran virheet 783 ios_base 758 setf() 763 unsetf() 763 virran muokkausfunktiot 763 iostream 11, 524, 758 is_open() 767, 775 isalnum() 120, 122 isalpha() 120, 137 iscontrl() 120 isdigit() 120 isgraph() 120 islower() 120 isprint() 120 ispunct() 120 isspace() 120 istream 758 cin 758 operator>>() 760 istream& get(char& ch) 780 istream& get(char* ptaul, streamsize n) 780 istream& get(char* ptaul, streamsize n, char erotin) 780 istream& getline(char* ptaul, streamsize n) 780 istream& getline(char* ptaul, streamsize n, char erotin) 780 istream_iterator() 839 esimerkki 839, 641 istringstream 801, 802 isupper() 120 isxdigit() 120 iteraattorit, STL 824, 831 algoritmit, iteraattoreiden välitys 845 esimerkki 845 algoritmit, käyttö yhdessä 839 esimerkki 839 back_inserter() 856 esimerkki 841 istream_iterator 839 esimerkki 839, 841 iteraattorityypit 848, 849 iterator_traits 848 kaksisuuntainen 874 keskiarvot, laskenta 835, 836 oma, täydellinen 849 ostream_iterator() 847 ostream_iterator<> 831 reverse_iterator 851 syöttöiteraattorit 855 tulostusiteraattorit 855 lisäysiteraattorit 856 vaatimukset 848 J jakojäännösoperaattori (%)

kokonaislukujen jakolasku - operaattori (/) vs. 39 jakojäännösoperaattori, % 39 Java 9 JIT-kääntäjä 9 julkinen, saantitapa 591 julkiset jäsenet, luokat public-avainsana 449 yksityiset luokat 514 jälkiliite, operaattorit 53 suoritusjärjestys 54 järjestyssäiliöt 824 avain 875 deque 824 list 824 front_inserter()-esimerkki 856 vector 824 jäsen 416 jäsenet, luokat 448 alkuarvot 460 julkiset jäsenet public-avainsana 449 jäsenfunktiot 448 const 478, 509 dynaaminen muistinvaraus 548 muodostinfunktiot 452 operaattorien uudelleenmäärittely 534, 543 osoittimet 661 periytyvyys 624 jäsenmuuttujat 448 esimerkki 658, 659 malliluokat 723 osoittimet 657 malliluokat staattiset jäsenet 723 määrittelyn sijoittaminen luokan ulkopuolelle 454 esimerkki 454 static 486 malliluokat 723 Suora jäsenen valinta - operaattori,. 451 yksityiset jäsenet 449, 463 esimerkki 464 käsittely 467 ystäväluokat 474 jäsenet, struktuurit 416 funktiot 423 esittely 424 käsittely 419 osoittimet 425 osoittimet 425 struktuurit 434 unionit 432 jäsenet, unionit 430 jäsenmuuttujat asetus nollaksi 504 ei-staattinen 522 julkinen 449 luokat 448 alkuarvolista, muodostinfunktiot 461 get () 467, 469 katso myös muodostinfunktiot muuttuvat jäsenmuuttujat, const 480 operator 659 osoittimet 657 set () 467, 469 staattinen 487 yksityinen 450 malliluokat 723 staattiset jäsenet 723 palku 505 phanta 505 pnykyinen 505 pseur 505 staattinen 522 struktuurit 416 unionit 430 viittaukset 527 yksityinen 463 K Hakemisto kahden komplementti 37 kahvat, oliot 828 kaksisuuntaiset iteraattorit 874 kaksisuuntaiset operaattorit operator++ 855 operator 855 kantaluokat 446, 579 esittely using-komennolla 594 kantaluokan käsittelijät, poikkeukset 687 katso myös periytyvyys luokkien periyttäminen 581 malliluokat 750 pinoesimerkki 750 muodostinfunktiot 595 muunto periytetyksi luokaksi 617 osoittimet kantaluokkaan 622 dynaamiset tyypit 623 olioiden tuhoaminen 653, 654 staattiset tyypit 623 saantitapa 590 samannimiset jäsenet 605 tuhoajafunktiot 602 virtuaalifunktiot, kantaluokan version kutsuminen 639 näkyvyysalueoperaattori :: 639 virtuaaliset kantaluokat 616 virtuaaliset tuhoajafunktiot 684 kapselointi 857 tiedon kätkentä 445 kello, koodinvaihtomerkki 20 kentän leveys 42 921

C++ Ohjelmoijan käsikirja kertomat 161, 344 keskeytyskohdat, debuggaus 400 keskiarvot, laskenta iteraattoreilla 836, 845 kirjastot 9 Standardi mallikirjasto 823 standardikirjasto 9.h 369 koko, taulukot 180 sizeof() 186 kokonaislukuliteraalit 32, 33 arvorajat 33 desimaalimuoto 33 heksadesimaalimuoto 34, 35, 37 negatiiviset arvot 36 oktaalimuoto 38 pilkun käyttö 33 kokonaislukumuuttujat. Katso muuttujat, kokonaislukumuuttujat 45 kokonaisluvun jakooperaattori, / 39 kokonaisluvut 32 aritmeettiset operaatiot 39 kommentit 23 moniriviset 24 sisäkkäiset 24 yksiriviset 23 konekieli 8 koodinvaihtomerkit 19 kopiomuodostimet esimerkki 469 exception-olio 674 malliluokat 713 ei-tyyppiparametrit 727 operator=(), sekaannusvaarat 545 oletuskopiomuodostin 469 922 periytetyt luokat 599 toteutus 516 tärkeys 515 viittausparametrit 517 yksityinen 522 kutsuminen funktiot 278, 497 staattiset muuttujat 312 kopiomuodostin 516 rekursio 517 tuhoajafunktiot 522-523 kutsupino 278 Kuutio, luokkaesimerkki 461 kysymysmerkki, koodinvaihtomerkki 20 käsittelijät. Katso catchlohkot käsittely, struktuurin jäsenet 419 käskyt 7 käyttäjän määrittelemät tyypit 44, 414 luokat 448 typedef 98 käyttäjän vastuu olioista 522 käännetyt kielet 8 esikääntäjä 383 Java 9 kääntäminen 8, 10, 17 lähdetekstitiedostot 17 linkkeri 359 lähdetekstitiedostot 358, 359 käännös 16 käännösaikaiset vakiot 95 käännösyksiköt 359 katso myös otsikkotiedostot ja lähdetekstitiedostot linkitys 359 L nimettömät nimiavaruudet 381 L, long 47 laskemissuunta, operaattorit 41 luettelo 107 oikealta laskettava 42 sijoitusoperaattorit 42 suoritusjärjestys 42 unaariset operaattorit 42 vasemmalta laskettava 41 laskesanat() 351 Laskuri-apuluokka, STL 858 laskutoimitukset 32, 39 =, sijoitusoperaattori 49 arvojen muuttaminen 51 useat peräkkäiset sijoitukset 51 esimerkkejä 39 jakojäännösoperaattori 39 katso myös tietotyypit ja muuttujat lisäysoperaattori 53 liukulukuarvot 59, 61 op=, sijoitusoperaattori 51 operaattorien uudelleenmäärittely 551 + ja += 556 operator+() 551 osoittimet 251 lisäys 251 taulukot 251 tietotyyppien sekoitus 71 säännöt 72 tulostus 42 vähennysoperaattori 53 lauseet break 170

continue 167 esittelyt 14, 44 goto 139 if 115 if-else 122 lauseklohkot 14 lohkot, try catch 670 määrittelyt 14 switch 134 throw 671, 672 katso myös poikkeukset lauselohkot 14 yhdistetty lause 14 lausenimiö, goto 139 length() 200, 206, 748 linkitetyt listat 428 luokat 498 malliluokat, sisäkkäiset 741 oliot 498 esimerkki 506 harjoitus 509 lopun selville saaminen 512 vs. taulukot 499 linkkeri 16-18 staattiset funktioiden linkitykset 18 suoritettavat tiedostot 359 linkitys 359 tehtävät 18 liput 81 list, järjestyssäiliö 824, 868 esimerkki 869 front_inserter() esimerkki 856 list<> 500 listat, oliot lopun selville saaminen 506 tyhjä 505 lisäysoperaatiot, virrat 761 oliot 803 esimerkki 804 operator<<() 803 lisäysoperaattori, ++ 53, 505 for-silmukkaa varten 154 operator++() 566 while-silmukkaa varten 148 literaalit 32 Boolean 112 katso myös tietotyypit kokonaisluku 32, 33 arvorajoitukset 33 desimaalimuoto 33 heksadesimaalimuoto 34, 35, 37 negatiiviset arvot 36 oktaalimuoto 38 pilkun käyttö 33 liukuluku 32, 57 merkki 63 char 63 merkkijono 32 32 char-osoittimet, alustus 239 merkkitaulukot 188 osoittimet vakioihin 248, 249 vakio-osoittimet 249, 250 muuttujat vs. 54 taikanumerot 54 liukulukuarvot 32, 56 double 57 eksponentti 56 esimerkit 59, 61 fixed 62 float 57 for-silmukat 156 esimerkki 157 literaalit 57 liukulukuliteraalit 32 long double 57 mantissa 56 tarkkuus 57 muuttujat 58 double 58 yleiset virheet 60 scientific 62 Hakemisto setprecision() 62 vertailuoperaattorit 114 logic_error, poikkeusluokat 702 lohkonäkyvyysalue. Katso paikallinen näkyvyysalue lohkot, lauseet try catch 670 long 47, 511 L 47 long double, liukulukuarvot 57 loogiset esikääntäjän komennot 393 #if 393 loogiset operaattorit 127 AND (&&) 127, 128 esimerkki 129 NOT (!) 127, 129 OR ( ) 127, 128 suoritusjärjestys 131 lopun yli -arvo, vectorsäiliö 832 luku/kirjoitusoperaatiot, virrat 793 fstream 793 binäärimuoto 794 esittely 793 hajasaanti 794 open() 794 luokan tuhoajafunktio 522, 523 luokat 414 abstraktit luokat 646 epäsuora 649 esimerkki 647 luokan standardi rajapinta 649 muodostinfunktiot 647 class-avainsana 449 exception, standardi otsikko- 923

924 C++ Ohjelmoijan käsikirja tiedosto exception-luokat 681, 701 exception-luokat, hyödyt 702 exception-luokat, oman määrittely 702 hierarkiat 578 muodostinfunktiot 599 saantitavan hallintakomennot 592 tuhoajafunktiot 602 ilmentäminen 448 julkiset jäsenet luokan rajapintana 464 public-avainsana 449 jäsenet 448 const 478 epäsuora jäsenen valinta - operaattori 467, 477 funktiot, dynaaminen muistinvaraus 548 julkiset jäsenet 464, 449 muodostinfunktiot 452 määritely luokan ulkopuolella 454 oletusalkuarvot 460 osoittimet 657, 661 periytyvyys 624 saantitavan hallintakomennot 450 staattinen 486, 492 suora jäsenen valinta - operaattori 451 this 474, 478 yksityiset jäsenet 449, 463, 466 ystäväluokat 474 kantaluokat 446, 579 kantaluokan käsittelijät, poikkeukset 687 katso myös periytyvyys malliluokat 750 monta kantaluokkaa 607 muodostinfunktiot 595 muunnokset 617 osoittimet kantaluokkaan 622 päällekkäiset jäsenten nimet 605 tuhoajafunktiot 602 virtuaalifunktiot, kantaluokan version kutsuminen 639 virtuaaliset kantaluokat 616 virtuaaliset tuhoajafunktiot 684 Kuutio, esimerkki 461 käyttäjän luomat luokat 530 käyttäjän määrittelemät tyypit, luokat 448 luokkamallit 376, 707 class-avainsana 709 esimerkki 710 esimerkki 717 ilmentäminen 708, 715 kantaluokat 750 katso myös Standardikirjasto (STL) mallifunktiot 326, 376 malliluokan erikoistaminen 739 mallin ID 712 määrittely 708, 709 operator[]() 714 operator=() 712 parametrit 709 sisäkkäiset malliluokat 741 staattiset jäsenet 723 staattiset jäsenet 723 Standardi mallikirjasto 708 säiliöluokat 708 tamplate-avainsana 709 taulukon indeksit 708, 710 virrat 811 ystävät 737 mallit. Katso malliluokat muodostinfunktiot 452 alkuarvolista 461 esimerkki 452 explicit-avainsana 462 kopiomuodostin 469 määrittely 454 oletusarvot 460 oletusmuodostinfunktio 456 parametrit, yksittäinen 461 muunnokset, operaattoreiden uudelleenmäärittely 564 määrittely class-avainsana 449 nimeämiskäytännöt 44 olio-ohjelmointi (OOP) 443, 577 oliot 199 const 478 oliotaulukko 481, 482 sizeof() 484 operaattorin uudelleenmäärittely 533, 534 # 534 ## 534 aritmeettiset operaattorit 551 delete 573 fiksut osoittimet 566 globaalit operaattorifunktiot 539 luokkatyypin muunnokset 564 new 573 operaattoreiden rajoitukset 534 operaattoreiden täysi tuki 540 operaattorifunktiot 543 operator () 566 operator[]() 557 operator+() 551 operator++() 566 operator=() 544 operator-avainsana 534 toteutus 535 ystävät 539, 540 periyttäminen kantaluokasta 579, 581 class-avainsana 449 monta kantaluokkaa 607 muodostinfunktiot 595 muunnokset 617 päällekkäiset jäsenten nimet 605 tuhoajafunktiot 602 virtuaalinen 616

polymorfistiset luokat 628 rajapinta abstraktit luokat 649 jäsenfunktiot 446 saantitapa 450 julkinen 449 suojattu 450 yksityinen 449 saantitavan hallinta 513 sisäkkäiset 513, 515 sizeof() 484 esimerkki 484 suojatut jäsenet 588 säiliöluokat 503 malliluokat, säiliöluokan määrittely 708 Standardi mallikirjasto 708 toistuva perintä 614 tuhoajafunktiot osoittimet, olioiden tuhoaminen 653, 654 poikkeukset 699 poikkeukset, abort() 675 poikkeukset, exit() 676 virtuaaliset tuhoajafunktiot 654 using, esimerkki 450 virrat 803 malliluokat 811 operator<<() 803 operator>>() 806 periytetyn luokan oliot 808 virtaluokat 758 yksityiset jäsenet 449 ystäväfunktiot 470 esimerkki 471 ystäväluokat 474, 515 lähdeteksti 7 lähdetekstitiedostot 7, 14 # include 384 otsikkotiedostot 358 katso myös käännösyksiköt käyttö 358 kääntäminen 358 muokkaus 17 esikääntäjän komennot 17 objektitiedostot 358 suoritettavan tiedoston luominen 16 M main() 11, 277, 509, 511, 520, 524, 529 globaali näkyvyysalue 366 parametrit 301 esimerkki 301 makrot 388 assert()-makro, debuggaus 407 esikääntäjä 388 avoimet funktiot vs. 388 katso myös #define merkkijonot parametreinä 391 standardi, luettelo 398 useat parametrit 392 virheiden lähteet 389 mallifunktiot 326 <> 327 algoritmit 824 class-avainsana 327 export 376 ilmentäminen 328 jäsenfunktiot, malliluokka 713 malliluokat 713 mallin erikoistaminen 332 nimiavaruudet, mallin määrittely 376 template-avainsana 327, 332 uudelleenmäärittely 334 mallifunktiot 376 malliluokat 326, 707 class-avainsana 709 esimerkki 710 Hakemisto ilmentäminen 708, 715 jäsenet, staattinen 723 jäsenfunktiot 713 kantaluokat 750 katso myös Standardi mallikirjasto (STL) mallifunktiot 376 malliluokan erikoistaminen 739 mallin ID 712 määrittely 708, 709 operator[]() 714 operator=() 712 sisäkkäiset malliluokat 741 staattiset jäsenet 723 säiliöluokat määrittely 708 taulukon ideksien tarkastus 708, 710 template-avainsana 709 virrat 811 ystävät 737 mallit, Standardi mallikirjasto (STL) 823 mantissa liukulukuarvot 56 tarkkuus 57 map, assosiatiivinen säiliö 824, 858, 875 esimerkki 876 maski 85 maskit, tiedoston avaustapa 770 max() 377, 378 merkkibitti 36 merkkien koodaus 19 koodinvaihtomerkit kontrollimerkit 19 ongelma -merkit merkkijoukot 65 wchar_t 65 symbolit 19 merkkijonoliteraalit 21, 32 925

926 C++ Ohjelmoijan käsikirja 32 char-osoittimet, alustus 239 merkkitaulukot 188 osoittimet vakioihin 248, 249 vakio-osoittimet 249, 250 merkkijonon osa, merkkijonotyypit 206 compare() 211 substr() 206 merkkijonot esikääntäjän makrot 391 merkkijonovirtaluokat 801, 802 merkkitaulukot 188 null-merkki () 188 C++, merkkikoosta riippuva kieli 44 muuttujien nimet 44 merkkiliteraalit 63 char 63 merkkitaulukot 188 compare() 212 find() 213 katso myös taulukot ja merkkijonot /=, null-merkki 188 moniulotteiset merkkitaulukot 197 esimerkki 197 osoittimet 260 cstring 260 merkkivakiot 19 metodit. Katso funktiot, jäsenfunktiot min() 377, 378, 383 modaaliset muokkausfunktiot 62 boolalpha 114 dec 90 fixed 62 hex 90 luettelo 92 noboolalpha 114 scientific 62 uppercase 169 monimerkityksisyys, jäsenmuuttujat 608 moniperintä 606 moniselitteiset jäsenet 608 moniriviset kommentit 24 sisäkkäiset 24 moniulotteiset taulukot 192 alustus 194 esimerkki 194 nolla-arvot 195 oletuskoko 196 katso myös taulukot merkkitaulukot 197 moniulotteisen taulukon välitys funktiolle 295 esimerkki 295 sizeof() 295 osoittimet, suhteet 257 taulukon nimi osoittimena 257 sizeof() 194 taikanumerot 193 esimerkki 197 muisti dynaaminen muistinvaraus 261 delete 262, 264 esimerkki 268 muistin pirstoutuminen 267 muistivuodot 266, 267 new 262, 263 vapaa muisti 262, 265 funktiot ja ohjelman rakenne 279 kokonaislukumuuttujat 48 struktuurit ja 416 unionit 429 vapautus 522 vuotojen välttäminen 267, 311, 513, 522 muistin pirstoutuminen, dynaaminen muistinvaraus 266, 267 muistin säilytysaika 99 automaattinen 99 dynaaminen 99 staattinen 99, 102 muistinhallinta, STL 857 Papu-luokka 860 vector 863 muistiosoitteet 231 heksadesimaalinen muoto 237 osoittimet 231 multimap, assosiatiivinen säiliö 824, 875 esimerkki 878 multiset, assosiatiivinen säiliö 824, 875 muodostaminen, poikkeukset 670 catch-lohkot 670 esimerkki 671, 672 katso myös poikkeukset throw-lauseke 671 try-lohkot 670 muodostinfunktiot kopiomuodostin exception-olio 674 perytetyissä luokissa 599 luokat 452 abstraktit luokat 647 alkuarvolista 461 explicit-avainsana 462 kopiomuodostin 469, 545 Laatikko(), esimerkki 452 määrittely luokan ulkopuolella 454 oletusarvot 456 parametri, yksittäinen 461 poikkeukset 698 malliluokat, jäsenfunktioiden

määrittely luokan ulkopuolella 713 periytetyt luokat 595 muokkausfunktiot 43 modaaliset 62 boolalpha 114 dec 90 fixed 62 hex 90 luettelo 92 noboolalpha 114 scientific 62 uppercase 169 setw() 43 virrat 762 muokkausfunktiot 763 muotoilemattomat operaatiot, virrat 756, 779 syöttövirrat 780 tulostusvirrat 782 muunnokset, tietotyypit 73 eksplisiittiset muunnokset 73 katso myös tietotyyppien sekoitus muunnokset 73 vanhantyylinen C++tekniikka 76 tietotyypit 73 muuttujat 12, 43 =-operaattori 49 alustus 45 automaattinen 100 bool 112 cctype-otsikkotiedosto, funktiot 119 const 55 dynaaminen muistinvaraus 261, 262 esittelyt 44, 47 etuliite, operaattorit 53 extern 360, 362 external 106 funktion paluuarvot 311 globaali näkyvyysalue 102 jälkiliite, operaattorit 53 jäsenmuuttujat 448 kokonaislukumuuttujat 45 linkitys 359 lisäysoperaattori 53 literaalit vs. 54 liukuluku 58 luetellut tietotyypit 93 määrittely 45 nimeämissäännöt 44 näkyvyysalue 99 op=-operaattori 51 osoittimet 231 paikallinen näkyvyysalue 100 sizeof() 77 staattinen 105 säilytysaika 99 vähennysoperaattori 53 muuttuvat jäsenmuuttujat 480 const<>cast() 481 esimerkki 480 myöhäinen sidonta. Katso dynaaminen sidonta N negatiiviset binääriarvot 36 new, muistin varaus 262, 263 bad_alloc, poikkeus 699 muistivuodot 267 operator new() 573 nimet. Katso tunnisteet nimettömät luetellut tyypit 95 Hakemisto nimettömät unionit 432 nimiavaruuden laajennukset 367 esimerkki 378 nimiavaruudet 12, 365 {} 366 esimerkki 367 esittely 366 näkyvyysalue, laajentaminen 367 funktiot 372 esimerkki 373 mallifunktiot, määrittely nimiavaruuteen 376 globaali nimiavaruus 366 main() 366 näkyvyysalueoperaattori, :: 362 muuttujat, määrittelemätön näkyvyysalue 370 nimettömät nimiavaruudet 381 näkyvyysalueen laajentaminen 367 esimerkki 378 näkyvyysalueoperaattori, :: 365 peitenimet 382 sisäkkäiset 382 std, standardikirjasto 25, 365, 524 ulkoinen linkitys 365 using-esittely 371 esimerkki 373 using-komento 366, 370, 375 nimiöt 12 noboolalpha 114 null, listan loppu 506 null-merkki, merkkijonot 188 null-osoittimet 238 numeeriset arvot. Katso tietotyypit 927

928 C++ Ohjelmoijan käsikirja numeeriset vakiot 32 kokonaislukuliteraalit 32, 33 arvorajoitukset 33 desimaalimuoto 33 heksadesimaalimuoto 34, 35, 37 negatiiviset arvot 36 oktaalimuoto 38 pilkun käyttö 33 taikanumerot 54 liukulukuliteraalit 32, 57 näkyvyysalue 99 for-silmukat 155 muuttujat 155 globaali 359 näkyvyysalueoperaattori, :: 104 linkitys 359 sisäinen linkitys 359 ulkoinen linkitys 359 lohkonäkyvyysalue 359 muuttujat 99, 100 for-silmukat 155 funktion paluuarvot 306, 311 funktion runko 281 globaali 102 if, if-else ja switch -lauselohkot 139 paikallinen 100 muuttujien esittelyn sijoitus koodiin 102 poikkeukset, virheiden käsittely 674 tunnisteet 359 linkitys 359 näkyvyysalueoperaattori, :: 13, 104 esimerkki 1047 globaalit muuttujat, käsittely 361 std, standardikirjasto 365 virtuaalifunktiot, kantaluokan version kutsuminen 639 O objektitiedostot 16, 358.obj 358 odottamattomat poikkeukset 697 set_unexpected() 698 unexpected() 697 off_type, tiedoston avaustapa 778 ofstream 758, 764, 765 esimerkki 765 tiedoston avaustapa 770 ohjelman rakenne funktiot 277 uudelleenkäyttö 279 lähdetekstitiedostot 14 main() 11 nimiavaruudet 365 otsikkotiedostot 11, 14 ohjelman suoritus. Katsoi suoritus ohjelmien dokumentointi 23 oikealta laskettava 42 oktaaliluvut 20 oktaalimuoto 38 oletusarvoinen suorituksen päättymisfunktio 675 korvaus 675 set_terminate() 675 olioiden ketjutus 428 olioiden monistus 503 AutoKuorma 516 olioiden tuhoaminen 522 olio-ohjelmointi 26, 443 kapselointi 444 tiedon kätkentä 445 luokat 577 periytyvyys 446 epäsuora 649 kantaluokat 446 perityt jäsenfunktiot 624 virtuaaliset tuhoajafunktiot 655 polymorfismi 447, 621 abstraktit luokat 646 dynaaminen tyyppi, osoitin 623 kutsuminen 639 luokat, polymorfismi 628 luokka 649 osoittimet kantaluokkaan 622 osoittimien välissä 640 perityt jäsenfunktiot 624 puhtaat virtuaalifunktiot 645 staattinen tyyppi, osoitin 623 typeid() 656 virtuaalifunktiot 628, 632 oliot automaattinen 522 duplikaatti 503 dynaaminen muistinvaraus 522 iteraattorit 842 jäsenfunktiot rajapintana 446 kahvat 828 kopiointi, kopiomuodostin 469 esimerkki 469 Laatikko 498 linkitetyt listat 428 lisäys listaan 503, 505 luokat 448 const-oliot 478 ilmentäminen 448 taulukot 481, 482 luokkatyypit199 olio-ohjelmointi (OOP) 443 operator <<() 803 esimerkki 804 operator >>() 806

esimerkki 806 osoittimet 428 osoittimet kantaluokkaan olioiden tuhoaminen 653, 654 periytetyn luokan oliot 808 esimerkki 808 struktuurit. Katso sturktuurit tila 446 tuhoaminen 522 virrat 803 malliluokat 811 omistaa -testi 580 on eräänlainen -testi 580 OOP. Katso olio-ohjelmointi op=, sijoitusoperaattori 51, 52 open() 771, 774, 794 globaalit operaattorifunktiot 539 binääriset operaattorit 543 const 539 unaariset operaattorit muodot 543 operaattorifunktiot, operaattoreiden uudelleenmäärittely 535 operaattorit!, ifstream 767 aritmeettiset 39 aritmeettiset operaatiot, tietotyyppien sekoitus 71 char 65 esimerkki 39 jakojäännös (%) 39 uudelleenmäärittely 551 binääriset 32 pilkku 162 uudelleenmäärittely 534 vertailuoperaattorit 111 bittitason 81 AND 84 bittien siirto 81 esimerkki 89 komplementti (~) 84 OR ( ) 84, 86 poissulkeva OR (^) 84, 87 suoritusjärjestys 84 const<>cast() 481 delete 262, 264, 267 operator delete() 573 dynamic_cast<>() 642 ehto (?) 207 merkkijono verailu 207 ehto (?:) 131 esimerkki 132 epäsuora jäsenen valintaoperaattori, -> 426, 467, 477 epäsuora jäsenen valintaoperaattori, -> 732 epäsuora osoitin jäseneen - valintaoperaattori, ->* 659 etuliitteellinen muoto, lisäys/ vähennysoperaattori 53 suoritusjärjestys 54 hajasaanti, iteraatorit 855 indeksointi, [] uudelleenmäärittely 557, 563 jakojäännös, % 39 jälkiliitteellinen muoto, lisäys/ vähennysoperaattori 53 suoritusjärjestys 54 kokonaisluvun jakolasku, / 39 käsittely 855 käyttäjän määrittelemät tietotyypit 422 lisäys, ++ 53 etuliitteellinen muoto 53 jälkiliitteellinen muoto 53 operator++() 566 loogiset 127 AND (&&) 127, 128 esimerkki 129 NOT (!) 127, 129 OR ( ) 127, 128 suoritusjärjestys 131 Hakemisto luokat käyttö 534 operaattoreiden uudelleenmäärittely 533, 534 makron parametrit, useat (##) 392 merkkijonojen liittäminen, + 202 new 262, 263, 267, 505, 699 operator new() 573 näkyvyysalueoperaattori, :: 104, 361, 365 nimiavaruudet 365 virtuaalifunktiot, kantaluokan version kutsuminen 639 operaattoreiden uudelleenmäärittely aritmeettiset operaattorit 551 delete 573 fiksut osoittimet 566 luokan tyypin muunnokset 564 new 573 operator () 566 operator*() 566, 567 operator[]() 557 operator+() 551 operator++() 566 operator=() 544 operator->() 566, 567 operator-avainsana 534 operandit 32 osoiteoperaattori, & 233 osoitus, * 234 reinterpret<>cast() 272 siirto-operaattorit, >> 732 sijoitus, = 49, 73 = 49 eri tietotyypit 73 esimerkki 50 op= 51, 52 peräkkäiset sijoitukset 51 tietotyyppien sekoitus 73 uudelleenmäärittely 544, 929

930 C++ Ohjelmoijan käsikirja 545, 548 static_cast<>() 640 suora jäsenen valinta,. 200, 451 struktuurit 419 unionit 430 suora osoitin jäseneen - valintaoperaattori,.* 659 suoritusjärjestys 41, 53 luettelo 107 typeid() 656, 688 unaarinen 32, 53 lisäys 53 osoite 233 sizeof() 77 uudelleenmäärittely 544 vähennys 53 uudelleenmäärittely 534 vertailu 111 == 112 esimerkki 112, 113 liukulukuarvot 114 luettelo 111 merkkijono verailu 207 operaattoreiden uudelleenmäärittely, esimerkki 535 sulkeet 114 suoritusjärjestys 114 vähennys, 53 etuliitteellinen muoto 53 jälkiliitteellinen muoto 53 operator () 566 operandit 32 katso myös operaatorit tietotyyppien sekoitus 71 säännöt 72 operator delete() 573 operator new() 573 operator!() 767, 769, 787 operator!=() 844 operator () 566, 855 operator () 566, 855 operator() 825 operator-() 855 operator*() 566, 567, 571, 573, 855 operator[] 849, 855 operator[]() 557, 558 const 564 esimerkki 558 operator+() 553, 556 operator++() 566, 844, 846 operator++() 566, 844, 846 operator++ 855 operator+=() 556 operator<() 534, 536, 541 operator<<() 757, 761, 762 operator=() 544 544, 545, 548 operator==() 854 operator->() 566, 567, 571, 573 operator>>() 757, 760 operatorvoid*() 783, 787 OR ( ), bittioperaattori 84, 86 OR (poissulkeva), bittioperaattori 84, 87 poissulkeva OR-tila 87 osittainen erikoistaminen, malliluokat 739 osoitteet, muisti 231 heksadesimaalinen esitystapa 237 osoittimet 231 osoitteet, talletus 503 osoittimet 231, 497 alustus 238 == 238 char-osoittimet 239 esimerkki 238 muuttujalla alustaminen 238 null-osoittimet 238 taulukot 250 aritmeettiset operaatiot 251 lisäys 251 osoitus 252 vähennys 253 char-osoittimet esimerkki 240 cout 241 dynaaminen muistinvaraus 261 delete 262, 264 muistin pirstoutuminen 267 muistivuodot 267 new 262, 263 vapaa muisti 262 esimerkki 234, 236 esittely 232 * 232 fiksut osoittimet 566 esimerkkiluokka 567 käyttöesimerkki 572 toteutus 570 funktion paluuarvot, osoitin 306 esimerkki 307 muuttujan näkyvyysalue 306 funktio-osoittimet 337 alustus 338 esimerkki 339 esittely 338 osoitintaulukot 343 funktiot, osoittimen välitys 289 esimerkki 290 heksadesimaalimuoto 237 hyödyt 235, 502, 529 jäsenet 661 esimerkki 663

esittely 662 funktiot, osoittimien välitys 665 typedef 662 jäsenmuuttujat 657 esimerkki 659 osoittimet 498 osoittimet, esimerkki 658 lisäys 505 malliluokat 729 ei-tyyppiparametrit, osoittimet 729 muistiosoitteet 231 osoiteoperaattori, & 233 osoitusoperaattori (*) 234 esimerkki 234 p, etuliite 233 polymorfismi osoitin kantaluokkaan 622 reinterpret_cast<>() 272 string-tyyppi, lajittelu 244 esimerkki 244 struktuurin jäsenet, osoittimet 425 suora jäsenen valintaoperaattori,. 467, 477 taulukot esimerkki 241 esittely 241 hyödyt 243 muistinvaraus 243 taulukot, välitys funktiolle 293 const 294 moniulotteiset taulukot 295 this, jäsenfunktiot 474, 478 uudelleenmäärittely, funktiot 322 const-osoittimet 325 vakio-osoittimet 248, 249 viittausparametrit, viittaukset vs. osoittimet 300, 301 virtuaalifunktiot dynaamiset muunnokset 642 muunto osoittimien välillä 640 vtable 644 osoittimet 425 osoitusoperaattori, * 234 osoitusoperaattori. Katso operator[]() ostream 758 cerr 758 clog 758 cout 758 operator<<() 761 ostream_iterator<> 831 ostringstream 801, 802 otsikko, funktiot 280 funktion nimi 280 paluuarvo 280, 283 osoittimet 306 return-lause 284 uudetn muuttujat 311 viittaukset 311 void 284 parametriluettelo 280 oletusarvot 302 yleinen muoto 280 otsikkotiedostot 11, 14 #include-komento 384, 509, 524.h 369.hpp 357 cctype 119 funktiot, luettelo 119 tolower() 138 cstring 260 osoittimet 260 cwctype 122 funktiot, luettelo 122 iostream 524 katso myös käännösyksiköt käyttö 358 Laatikko.h 506, 523 Lista.h 507, 518, 524 lähdetekstitiedostot 358.h 369 Hakemisto Standardi mallikirjasto (STL) 825 otsikkotiedotot, luettelo 825 out_of_range, poikkeus 714, 721, 732 P p, osoittimen etuliite 233 paikallinen näkyvyysalue 100, 359 katso myös näkyvyysalue paluuarvo, funktiot 280, 283 osoittimet 306 esimerkki 307 muuttujan näkyvyysalue 306 return-lause 284 uudet muuttujat 311 muistivuodot 311 viittaukset 311 muuttujan näkyvyysalue 311 void 284 Papu-luokka, STL 860 operaattorit 860 parametriluettelo, funktiot 280 oletusarvot 302 esimerkki 302 useat oletusarvot 303, 306 uudelleenmäärittely 320 osoitinparametrit 322 vakioparametrit 324 viittausparametrit 322 void 280, 284 parametriluettelo, malliluokat 709 ei-tyyppiparametrit 709, 724 esimerkki 724, 725, 730 jäsenfunktiot, mallit 726 931