C++

**C++** (borið fram „sé plús plús“ og stundum skammstafað sem **CPP** eða **CXX**) er æðra forritunarmál búið til af danska tölvunarfræðingnum Bjarne Stroustrup. Það kom fyrst út árið 1985 sem viðbót við forritunarmálið C og bætti við eiginleikum fyrir hlutbundna (e. object-oriented) forritun, en hefur síðan stækkað verulega með tímanum og bætt við fleiri OOP og öðrum eiginleikum;  C++ hefur bætti við „functional“ eiginleikum,  og hefur verið notað til að búa til stýrikerfi eins og Windows og Linux (kjarni þess notar þó C, og þar er C++ bannað), og jafnvel síðar komu eiginleikar eins og almenn forritun almenna (e. „generic“) (með tilkomu svokölluðum <code>template</code>/sniðmáts möguleika). C++ er venjulega útfært sem þýtt forritunarmál og margir framleiðendur bjóða upp á C++ þýðendur, þar á meðal Free Software Foundation (GCC), LLVM (clang, er GCC & MSVC samhæft), Microsoft (MSVC), Intel, Embarcadero, Oracle og IBM.

C++ er notað í mörgum geirum, og t.d. oft þar sem hröð forrit eru mjög mikilvæg, eins og á við um tölvuleiki, sér í lagi tölvuleiki í þrívídd (og í grafík sem er ekki í tengslum við leiki), því t.d. notað í helstu „leikjavélar“ s.s. Unity (með­stofnandi Unity Software Davíð Helgason og forstjóri fyrirtækisins hefur verið næst­launa­hæsti Íslendingurinn) og Unreal Engine, og (ókeypis/open source) Godot. Það þýðir ekki að leikjahöfundar skrifi leiki í C++ (endilega), allar þessar notast við önnur forritunarmál fyrir gerð leikjanna sjálfra (sem dæmi UnrealScript; eða Verse  nýja málið fyrir Unreal, fyrst notað fyrir *[[:en:Fortnite:|Fortnite]]* leikinn; íslenski leikurinn EVE Online er að mestu forritaður í Python, en líka í C++ fyrir tölvugrafík, án utanaðkomandi leikjavélar frá þriðja aðila) og að auki er leikjavélarnar sjálfar í sumum tilvikum ekki skrifaðar eingöngu í C++ (og til eru leikjavélar sem nota ekkert C++). 

Síðan 2012 hefur ný útgáfa komið út á þriggja ára fresti og útgáfan C++23 er studd að hluta af GCC og clang (LLVM), og að enn minni hluta af Microsoft þýðandanum ennþá (og sumir þýðendur styðja nú þegar að hluta), en Microsoft er þó fremst við stuðning á C++20 útgáfunni ennþá. Næsta útgáfa sem er plönuð er C++26.

Þrátt fyrir útbreidda upptöku hafa hafa sumir hátt skrifaðir forritarar gagnrýnt C++ forritunarmálið, þar á meðal Linus Torvalds, Richard Stallman, Joshua Bloch, Ken Thompson, og Donald Knuth. 

## Saga
Árið 1979 hóf Bjarne Stroustrup, danskur tölvunarfræðingur, vinnu við „C with Classes” (ísl. C með Klösum), forvera C++. Hvatinn að því að búa til nýtt forritunarmál var sprottinn af reynslu Bjarne í forritun fyrir doktorsritgerð sína. Bjarne komst að því að Simula hafði eiginleika sem voru mjög gagnlegir, en málið var of hægvirkt til hagnýtrar notkunar, á meðan BCPL var hratt en ekki fullnægjandi. Þegar Bjarne hóf störf í AT&T Bell Labs var vandamál hans að greina UNIX kjarnann með tilliti til dreyfðrar vinnslu (e. distributed computing). Munandi reynslu sína úr PhD námi, ákvað Bjarne að endurbæta C málið með Simula-líkum eiginleikum. 

## Sýnidæmi
Í nýjustu útgáfunni, C++23:


```cpp
import std;

int main() {

    std::println("Hello, world!");

}
```


Þetta er nýji staðallinn til útprentunar (en virkar ekki í eldri útgáfum), en eldri leiðin virkar enn og er enn alls ráðandi í eldri kóða:


```cpp
#include <iostream>
int main()
{
    std::cout << "Hello, world!\n";
}
```


## Heimildir