C++11
C++11, aikaisemmin C++0x, on ISO:n 12.8.2011 hyväksymä C++-ohjelmointikielen uusi standardi, joka korvaa edellisen C++03-standardin. Nimessä esiintyvä 11 tulee yleisen nimeämiskäytännön mukaisesti standardin julkaisuvuodesta. C++0x-tunnusta käytettiin työskentelyvaiheessa, koska valmistumisvuodesta ei ollut varmuutta, mutta sen uskottiin valmistuvan ennen vuotta 2010.
C++11 lisää itse kieleen useita ominaisuuksia sekä laajentaa C++:n standardikirjastoa STL:a. Standardikirjaston laajennos käsittää suurimman osan aikaisemmasta C++ Technical Report 1:stä (TR1). Virallinen standardi on saatavissa ISO:lta korvausta vastaan, mutta viimeinen työskentelyluonnos on saatavilla internetistä ilmaiseksi. Virallisessa standardissa on vain korjattu kirjoitusvirheitä sekä lisätty selvennöksiä.
Muutokset edellisestä standardista [muokkaa]
Uusi standardi laajentaa varsinaista kieltä sekä sen standardikirjastoa. Pääsuuntaviivat uutta versiota suunniteltaessa olivat:
- Säilyttää stabiilius sekä yhteensopivuus C++98:n ja mahdollisuuksien mukaan C:n kanssa;
- Mahdollisuuksien mukaan lisätä uudet ominaisuudet standardikirjastoon itse kieleen lisäämisen sijasta;
- Tehdä muutoksia, jotka ohjaavat käyttäjää oikeaan toteutustekniikkaan ja -tyyliin;
- Tukea systeemien ja kirjastojen suunnittelua pelkän uusien ominaisuuksien esittelyn sijaan;
- Parantaa tyypityksen turvallisuutta tarjoamalla aiemmin turvattomille tekniikoille vaihtoehtoja;
- Parantaa suorituskykyä ja laitteistorajapinnan kanssa kommunikointia;
- Tarjota oikeita ratkaisuja reaalimaailman ongelmiin;
- Toteuttaa niin sanottua "zero-overhead"-periaatetta;
- Tehdä C++:sta helposti opiskeltava kieli ottamatta kuitenkaan pois ominaisuuksia, joita kokeneemmat ohjelmoijat tarvitsevat;
Alottelijoiden huomioon ottaminen koettiin tärkeäksi, koska ohjelmoijista suurin osa tulee aina olemaan aloittelijoita, ja koska suurin osa heistä tuskin koskaan tulee perehtymään C++:an syvällisemmin.
Aiheesta muualla [muokkaa]
- Viimeinen työskentelyluonnos (working draft) http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf
- C++11 vinkkejä http://www.crodesoft.com/2013/01/10/cpp11-vinkkeja/
Sivulta puuttuu