C++
|
|
|
|---|---|
| Paradigma | olio, imperatiivinen |
| Tyypitys | vahva, staattinen |
| Muistinhallinta | manuaalinen |
| Julkaistu | 1983 |
| Kehittäjä | Bjarne Stroustrup |
| Merkittävimmät toteutukset | GCC, Visual C++, Borland C++ |
| Vaikutteet | C, Ada, Simula, CLU |
| Vaikuttanut | Java, C# |
| Murteet | ANSI C++ 1998, ANSI C++ 2003, C++11 |
| Käyttöjärjestelmä | alustariippumaton |
| Uutisryhmä | comp.lang.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.[2] 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.[3]
Sisällysluettelo |
Standardikirjastot [muokkaa]
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ä.
Erot C:hen [muokkaa]
Monet C:llä kirjoitetuista ohjelmista ovat myös kelvollista C++:aa. Eivät kuitenkaan kaikki, muun muassa uusien varattujen sanojen ja tarkemman tyyppitarkistuksen vuoksi.
Hello, World! -esimerkkiohjelma [muokkaa]
#include <iostream> int main() { std::cout << "Hello, world!" << std::endl; return 0; }
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).
Katso myös [muokkaa]
- Technical Report 1 - Muistio C++:n seuraavaan versioon tulevista lisäyksistä
- Ohjelmointi
- Ohjelmointikieli
- SystemC – C++ -pohjainen laitteistokuvauskieli
Lähteet [muokkaa]
- Bjarne Stroustrup: The design and evolution of C++. Addison-Wesley, 1994. ISBN 0-201-54330-3.
Viitteet [muokkaa]
- ↑ Stroustrup 1994, s. 63–108
- ↑ Päivi Hietanen: C++ ja olio-ohjelmointi, s. 16. Teknolit, 2000. ISBN 951-846-000-0.
- ↑ http://www2.research.att.com/~bs/applications.html
Aiheesta muualla [muokkaa]
- Bjarne Stroustrup: C++ -ohjelmointi. Suom. Veli-Pekka Ketola. Jyväskylä: Teknolit, 2000. ISBN 951-846-026-4.
- Programming:C plus plus Wikibook, C++-opas (englanniksi)
- Thinking in C++, kattava ilmainen e-kirja C++:sta (englanniksi)
- C++ opas, laaja Suomenkielinen C++ opas.
| Tuotantokäytössä |
Ada • APL • AWK • Assembly • C • C++ • C# • COBOL • Delphi • Eiffel • Fortran • Java • JavaScript • Lua • Lisp • Objective-C • Pascal • Perl • PHP • PostScript • Python • Ruby • Smalltalk • TCL • Visual Basic |
|---|---|
| Akateemiset | |
| Historialliset |
ALGOL • BASIC • Modula-3 • MUMPS • Plankalkül • PL/I • Simula |