SuomiGameHUB

Maailma tarvitsee pelejä

C++ perusteet

C++ on ohjelmointikieli, joka on kehitetty C:n pohjalta, mikä selittää sen tehokkuuden ja suorituskyvyn. C++:aa käytetään laajasti, koska se mahdollistaa suorituskykyisen koodin kirjoittamisen, toisin kuin Java tai C#, jotka toimivat virtuaalikoneen päällä.

C++ eroaa muista kielistä muun muassa muistinhallinnan osalta. Java ja C# hoitavat muistinhallinnan suurelta osin automaattisesti, kun taas C++ vaatii ohjelmoijan itse hallitsemaan muistia. Tämä antaa ohjelmoijalle enemmän valtaa ja joustavuutta, mutta samalla lisää vastuuta ja mahdollisia virheenlähteitä. Tämä on erityisen merkittävää esimerkiksi peliohjelmoinnissa, missä suorituskyvyn hallinta on kriittistä.

Toinen merkittävä ero on kielet ja niiden yhteensopivuus eri ympäristöjen kanssa. C# on suunniteltu käytettäväksi .NET-ympäristössä, kun taas C++ on alustariippumaton. C++-koodi voidaan kääntää suoraan konekieleksi, mikä mahdollistaa sen käytön erilaisissa laitteissa, kuten sulautetuissa järjestelmissä, vaikkapa jääkaapeissa.

Ohjelmoinnin aloittaminen C++:lla vaatii perustietojen ymmärtämistä, kuten standardikirjastojen (STL) käyttöä, sisääntulo- ja ulostulovirtojen (iostream) hallintaa, ja perustoimintojen, kuten pääfunktion (main) kirjoittamista. Esimerkiksi, ohjelman kirjoittaminen, joka tulostaa “Hei maailma” ruudulle, vaatii iostream-kirjaston sisällyttämistä ja asianmukaisten namespace-määrittelyjen käyttöä.

C++:ssa virheiden käsittely ja ongelmanratkaisu voivat olla haastavia. Virheet, kuten puskurin ylivuodot tai osoittimien väärinkäyttö, ovat yleisiä ja voivat olla vaikeita löytää. Tämä eroaa jälleen esimerkiksi C#-kielestä, jossa kieli ja .NET-ympäristö auttavat hallitsemaan tällaisia ongelmia.

C++:n käytössä yksi keskeinen osa on koodin kääntäminen ja sen suorittaminen. Kun olet kirjoittanut ohjelmasi, voit käyttää esimerkiksi Visual Studion Local Window Debugger -toimintoa ohjelman suorittamiseen. Tämä näyttää ohjelmasi tulosteen, esimerkiksi “Hei maailma”, ruudulla. Kuitenkin, joissakin tapauksissa ikkuna saattaa sulkeutua heti tulostuksen jälkeen, eikä tulostetta ehdi nähdä. Tämä on tavallista eri käyttöjärjestelmissä ja riippuu ohjelman suoritustavasta.

C++:ssa aloitusfunktiona toimii usein main-funktio, joka on määritelty ohjelman käynnistymispisteenä. Tähän funktioon voit sisällyttää koodin, joka suoritetaan ohjelman käynnistyessä. Iostream-kirjastoa käytetään tiedon tulostamiseen ja lukemiseen, ja se sisällytetään ohjelmaan #include-esikäsittelijäkomennolla. Tämä komento kertoo kääntäjälle, että tietty kirjasto tai tiedosto tulee sisällyttää käännösaikana ohjelmaan.

main.cpp

#include "HeiMaailma.h"

void main()
{
  HeiMaailma objekti;
  objekti.tulostaViesti();
}

Jos haluat käyttää omia luokkia C++:ssa, voit luoda niitä header-tiedostojen (päätetiedostot) ja lähdekooditiedostojen (cpp-tiedostot) avulla. Header-tiedostossa määritellään luokan rakenne, kuten sen metodit ja ominaisuudet. Lähdekooditiedostossa toteutetaan nämä määritellyt metodit. On tärkeää suojata header-tiedostot moninkertaiselta sisällyttämiseltä ohjelmaan, mikä voidaan tehdä pragma once -komennolla tai perinteisillä include guardeilla (#ifndef, #define, #endif).

HeiMaailma.h

#pragma once
#include <iostream>

class HeiMaailma
{
public:
  void tulostaViesti();
};

Kun olet luonut oman luokkasi, voit käyttää sitä pääohjelmassasi luomalla siitä olion ja kutsumalla sen metodeja. Tämä antaa ohjelmoijalle mahdollisuuden järjestää koodinsa selkeämpiin, modulaarisempiin osiin, mikä helpottaa ohjelman hallintaa ja ylläpitoa.

HeiMaailma.cpp

#include "HeiMaailma.h"

void HeiMaailma::tulostaViesti()
{
  std::cout << "Hei maailma!";
}

Seuraava osa: C++ osoittimet, eli pointterit

Keskustelu

Aloita uusi keskustelu