C++/Peruskäsitteet

Wikikirjastosta
< C++

Tämä luku kertoo yksinkertaisista ohjelmista.

Yksinkertainen ohjelma[muokkaa | muokkaa wikitekstiä]

Alla on esitetty yksinkertainen C++-kielinen ohjelma, joka tulostaa näytölle tekstin "Hei maailma!".

#include <iostream>

int main()
{
    std::cout << "Hei maailma!" << std::endl;
    return 0;
}

Ensimmäinen rivi on esikääntäjän käsky, joka sisällyttää lähdekoodiin kirjaston iostream. Tämä kirjasto on osa C++:n vakiokirjastoa. C++-kielessä konsoliin tulostamisen hoitaa olio nimeltä cout. Koodissa ennen cout-oliota oleva ::-operaattori määrittelee sen, missä nimiavaruudessa cout-olio sijaitsee. (Enemmän tietoa nimiavaruuksista myöhemmin tässä oppaassa.) Tässä tapauksessa std::cout tarkoittaa että cout löytyy vakiokirjaston nimiavaruudesta. Vakiokirjastossa on myös endl rivinvaihtoja varten. Jokainen koodilause lopetetaan puolipisteeseen.

Kommentoiminen[muokkaa | muokkaa wikitekstiä]

Kommentteja käytetään merkkaamaan koodin eri osia siltä varalta, että unohdat mitä jokin koodinpätkä tekee, tai että muut koodia lukevat voivat nähdä nopeasti mitä jokin osa koodista tekee. Kommentoiminen on suositeltavaa, koska se ei vaikuta millään tavalla ohjelman toimintaan – kääntäjä jättää kaikki kommentit huomioimatta ohjelmaa käännettäessä. Yleisenä sääntönä voidaan pitää, että jos koodista ei heti ilmene mitä se tekee, kannattaa sitä kommentoida. Kommenteista kannattaa kuitenkin kirjoittaa lyhyitä ja ytimekkäitä. Kommentin tulisi kertoa mitä koodi tekee, ei miten asia tehdään.

C++-kielessä voidaan käyttää C-kielestä tuttuja kommentteja. C-tyyliset kommentit aloitetaan merkkiparilla /* ja lopetetaan merkkiparilla */. C++-tyylinen kommentti alkaa merkkiparilla // ja jatkuu sen rivin loppuun. Yleensä C- ja C++-tyylisiä kommentteja ei käytetä sekaisin esteettisistä syistä.

// Tämä on kommentti

/* Tämä on kommentti,
   joka voi jatkua useammalle
   riville */

//
// Tämä on yleinen tapa
// kirjoittaa monirivisiä
// kommentteja.
//

/*
 * Tämä on toinen yleinen
 * tapa kirjoittaa monirivisiä
 * kommentteja.
 */

Tiedostojen nimeämiskäytännöt[muokkaa | muokkaa wikitekstiä]

Virallista tiedostopäätettä C++-lähdekooditiedostoille ei ole, mutta yleisin käytetty muoto on .cpp. Näihin tiedostoihin kirjoitetaan itse toiminnallinen koodi. Muita päätteitä ovat .cxx ja .cc. Otsaketiedostoille vastaavasti .h, .hpp, .hxx ja .hc. Otsaketiedostoihin kirjoitetaan yleensä aliohjelmien ja globaalien muuttujien esittelyt. Lyhyissä ohjelmissa otsaketiedostoja ei kuitenkaan yleensä käytetä.

Kääntäminen[muokkaa | muokkaa wikitekstiä]

C++-tiedoston kääntäminen GCC:llä tapahtuu seuraavasti:

g++ -o ohjelma tiedosto.cpp

Huomaa että parametrit '-o' ja 'ohjelma' liittyvät toisiinsa, eikä niiden väliin saa laittaa muita parametreja. -o tiedostonimi määrittää millä nimellä kääntäjä tallentaa käännöksen tuloksen ja Windowsilla tähän tulisikin kirjoittaa ohjelma.exe.

Yleensä kannattaa kuitenkin lisätä kääntäjän parametreiksi -Wall ja -Wextra, jotta kääntäjä osaa paremmin varoittaa koodissa olevista virheistä. Voidaan myös kääntää kerralla kaikki kansiossa olevat lähdekooditiedostot korvaamalla tiedosto.cpp wildcard-nimellä *.cpp. Tämä tulee tarpeeseen, kun ohjelmaan kuuluu useita lähdekooditiedostoja.

g++ -Wall -Wextra -o ohjelma *.cpp

Tämä kääntää lähdekoodin tietokoneen ymmärtämäksi binääriksi. Ohjelman voi kääntämisen jälkeen suorittaa UNIX-komentoriviltä komennolla ohjelma:

./ohjelma

Kehitysympäristöissä kääntäminen ja ohjelman suorittaminen tapahtuu yleensä painamalla näppäintä F9. Kannattaa tarkistaa Project/Build/Run-valikosta (IDE:stä riippuen) eri käännösvaihtoehdot.