Mikä on C++

C++ on yksi tärkeimmistä kaupallisessa ohjelmistokehityksessä käytettävistä ohjelmointikielistä. Bjarne Stroustrup kehitti C++:n 1980-luvulla C-kielestä lisäämällä siihen muun muassa olio-ohjelmointiin ja geneerisyyteen liittyviä ominaisuuksia.[1] C++-kielen standardi ISO/IEC 14882:1998 vahvistettiin vuonna 1998, uusin standardi C++11 vuonna 2011.

C++ sisältää muun muassa luokat, periytymisen, mallit (templates) ja poikkeukset. C++ perustuu C-kieleen siten, ettei kieltä ole suunniteltu uudelleen, vaan uusia ominaisuuksia on lisätty. Kielen suunnittelun eräänä pääperiaatteena on ollut kaiken ylimääräisen suorituksenaikaisen koodin jättäminen pois, joten kieleen itseensä ei ole esimerkiksi sisällytetty roskienkeräystä.

C++:lla on kirjoitettu suuri osa maailman käyttöjärjestelmä-, laiteohjain-, ohjelmisto-, sulautettu järjestelmä-, verkko-, ja peliohjelmista, esim. Microsoftin ja Adobe Systemsin ohjelmat.

Standardikirjastot

C++ sisältää C:n C-kirjaston hieman muokattuna ja algoritmeja sisältävän Standard Template Libraryn (STL).

Standard Template Library sisältää yleisiä ohjelmoijien tarvitsemia säiliöitä (containers), algoritmeja ja funktioita. Esimerkiksi taulukon voi korvata vektorilla (std::vector), joka kasvaa automaattisesti sen sisältämien alkioiden määrän mukaan. Merkkijonojen käsittelyyn on string-luokka, joka abstrahoi merkkijonojen käsittelyn syntaksiltaan lähemmäs kielen perustietotyyppien käsittelyä.

Hello World - esimerkkiohjelma

Tämä on yleisin käytetty esimerkkiohjelma kaikissa C++ -oppaissa. Se tulostaa näytölle tekstin ”Hello, world!” Kuten C:ssä, ohjelma alkaa komennoilla esikääntäjälle, tässä kirjaston liittämisellä #include-käskyllä. Funktiot rajataan aaltosuluilla {}, ja main-funktio suoritetaan aina ensimmäisenä. Ohjaamalla tekstin cout-olioon <<-operaattorilla teksti tulostuu stdout-virtaan (näytölle). Funktio palauttaa arvon 0.

C++:n kielioppi on samantapaista kuin C:n ja Javan. Lauseet päättyvät puolipisteeseen ;. Välilyöntejä tai muuta tyhjää tilaa ei oteta huomioon. Lohkot ympäröidään aaltosulkeilla { }. Kommentit aloitetaan /* -merkinnällä ja päätetään */ -merkinnällä. Yhden rivin kommentti merkitään kahdella vinoviivalla //. Kaikki standardikirjaston luokat, funktiot ja globaalit muuttujat ovat std-nimiavaruudessa (namespace).