Programski jezik From Wikipedia, the free encyclopedia
Programski jezik C++ (C plus plus; izgovorjava [cé plús plús] je splošnonamenski računalniški programski jezik. V C++ so podatkovni tipi statični, zapis kode je prost. C++ omogoča različne programerske pristope in sicer proceduralno, objektno usmerjeno, generično in funkcionalno .
Paradigma | večparadigmska, objektno orientirana, proceduralna, funkcionalna, generična, modularna |
---|---|
Začetna izdaja | 1985 |
Oblikoval | Bjarne Stroustrup |
Razvijalec | ISO/IEC JTC1 / SC22 / WG21 |
Stabilna izdaja | C++23[1] |
Tipizacija | statična, nominativna, delno sklepalna |
Večje implementacije | GCC, LLVM Clang, MS Visual C++, C++Builder, Intel C++, IBM XL C++, EDG |
Dialekti | Charm++, EC++, R++, μC++ |
Vplivi | C, Simula[d], ALGOL 68[d], CLU[d], ML[d] in Ada |
Vplival na | Ada 95, C#, C99, Chapel, Clojure, D, Java, JS++, Lua, Nim, Objective-C++, Perl, PHP, Python, Rust, Seed7 |
Običajna končnica datoteke | .C, .cc, .cpp, .cxx, .c++, .h, .H, .hh, .hpp, .hxx, .h++ |
Spletna stran | https://isocpp.org/ |
Družina | C |
C++ Programming na Wikibooks |
C++ je razvil danski računalnikar Bjarne Stroustrup, v Bellovih laboratorijih. Razvijati je začel leta 1979 in takrat se je jezik imenoval »C with Classes« (C z razredi). Od 90. let je eden najbolj priljubljenih komercialnih programskih jezikov. Najprej so C-ju dodali razrede, nato med drugim virtualne funkcije, preobložitev operatorjev (operatorski ad-hoc polimorfizem), večkratno dedovanje, predloge in rokovanje z izjemami.
Leta 1998 so sprejeli tudi ISO standard za jezik C++ kot ISO/IEC 14882:1998. Trenutna različica standarda je ISO/IEC 14882:2020 ki nosi neuradno ime C++20.
C++ se prevede v strojni jezik kar mu omogoča, da enak program izvaja bistveno hitreje od jezikov, ki se interpretirajo ali pa se prevedejo v vmesni jezik (Java, C#, Python, javascript, PHP ... ). Poleg tega da za isto opravilo program porabi manj časa, porabi tudi manj energije, kar je pomembno za naprave z baterijskim napajanjem. C++ se je razvil iz jezika C in programe napisane v jeziku C je razen nekaterih redkih izjem mogoče brez sprememb prevesti s prevajalnikom za C++.
// Demonstracija najosnovnejšega programa v programskem jeziku C++
#include <iostream>
int main()
{
std::cout << "Pozdravljen, svet!" << std::endl;
return 0;
}
Kazalci so najmočnejše orodje v C++. Z njimi se dostopa do pomnilnika, kar omogoča veliko prednosti. Kazalci so v bistvu neke spremenljivke, ki kažejo (referirajo) na drugo spremenljivko ali objekt. V kazalcu je shranjen naslov objekta ali spremenljivke na katero kaže, s tem se izve njegovo vrednost. Kazalec se daklarira tako, da se najprej napiše vrsto spremenljivke na katero referira, znak za kazalec (»*«), nato ime kazalca in še na koncu znak za dodeljevanje (»=«), predznak (»&«) in ime spremenljivke ali objekta na katero referira(glej spodnji zgled). Težava pri kazalcih pa je, da je to izmed najbolj zakompliciranih snovi v C++. Velika prednost kazalcev je, da ko se prenaša argumente v funkcijo, se prenašajo dejansko sami argumenti ne pa kopije teh argumentov kot pri običajni funkciji.
Znaki v zvezi s kazalci:
Zgled:
#include <iostream>
int main()
{
int a = 5; // Inicializacija spremenljivke a z int vrednostjo 5.
int *b = &a; // Inicializacija int kazalca b z naslovom slpemenljivke a.
return 0;
}
V programskem jeziku je več podatkovnih tipov, ki so namenjeni različnim stvarem. Vsi tipi imajo svojo velikost v bitih, kar tudi vpliva na njihovo dolžino. Pri deklaraciji teh tipov si pomagamo z določenimi besedami in tako prilagodimo spremenljivko za določeno delo, te besede lahko tudi medseboj mešamo, da dobimo želeno spremenljivko. Zgledi:
Podatkovni tipi:
Ime | Opis | Velikost[2] | Doseg |
---|---|---|---|
Črka ali majhno celo število | 1 bajt | signed: -128 to 127
unsigned: 0 to 255 | |||
integer | 4 bajt | signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295 | |||
Booleovska vrednost. | 1 bajt | true ali false | |||
Plavajoča vejica | 4 bajt | +/- 3.4e +/- 38 (~7 števk) | |||
Dvakrat natančnejša plavajoča vejica | 8 bajtov | +/- 1.7e +/- 308 (~15 števk) | |||
Več črk v nizu | 2 ali 4 bajt | ena široka beseda |
Tudi imenovan: pogojni konstrukt, pogojni izraz ali kontrolni stavek je del programskega jezika, ki na podlagi izraza v oklepaju določi ali se bo koda v pogojnem stavku izvršila ali ne. Koda se izvrši v primeru, če ima izraz v oklepajih vrednost logične 1 (true) drugače se ne izvede.
Prav tako lahko to oznacimo kot 1 za true in 0 za false.
Primer:
int a = 15;
bool check;
if (a == 15)
{
// Ker je pogoj resničen nastavimo check spremenljivko na true
check = true;
}
else if (a == 13)
{
// Pogoj ni pravilen
check = false;
}
else
{
// Če ni vrednost ne 15 in ne 13 se izvede ta stavek
check = false;
std::cout<<"Vrednost ni ne 13 in ne 15"<<std::endl;
}
Zanke so močno orodje v C++ in so večnamenske. Z njimi se rešuje logične in matematične probleme. Poznanih je več vrst zank.
Če je pogoj pravilen, se telo funkcije izvaja, dokler pogoj ni več pravilen.
Zgled:
#include <iostream>
int main()
{
int a = 0;
int b = 10;
while(a<b)
{
a++; // A se vsakič ko se zanka izvede poveča za 1
std::cout << a << std::endl; // Izpiše vrednost a
}
return 0;
}
Najprej se enkrat izvede telo zanke, potem pa se šele preveri pogoj. To pomeni da se telo zanke izvede vsaj enkrat tudi, če je pogoj nepravilen.
Zgled:
#include <iostream>
int main()
{
int a = 1;
int b = 0;
do
{
std::cout << "Zanka se izvede čeprav je pogoj napačen" << std::endl;
} while(a > b);
return 0;
}
Zanka for združuje značilnosti vseh treh zank - »if«, »while« in »do while«. Zanka najprej deklarira neko spremenjlivko (lahko tudi ne), potem se preveri pogoj in še nato se lahko izvede neka pravilna matematična operacija (s tem si pomagajo, da spremljajo kolikokrat se zanka izvede).
Zgled:
#include <iostream>
int main()
{
int a = 10;
for (int i; i < a; i++) // i se povečuje in pri tem se izpisuje njegova vrednost
std::cout << i << std::endl;
return 0;
}
Eden od glavnih konceptov programskega jezika C++ so razredi. To so razširjene podatkovne strukture, ki vsebujejo podatke in funkcije. Upravljanje z razredi spada pod eno najpomebnejših vej C++, pod objektno usmerjeno programiranje. Iz tega izhaja tudi ime programskega jezika C++ »C with classes« (C z razredi). Ko deklariramo objekt enega razreda, govorimo o primeru tega razreda. Saj ima ta primer vse značilnosti in funkcije tega razreda. Razredi po navadi vsebujejo glavo (.h), v katerem so deklarirani vsi člani tega razreda in njegove funkcije. Nato pa še v drugi datoteki implementacijo razreda (.cpp). Ta se potem lahko vključi v glavni program tj. »main.cpp«, da ga lahko uporabljamo. To omogoči lahkotno upravljanje z objekti, izmenjevanje knjižnic z drugimi programerji in povečevanje produktivnosti, se pravi manj kode za večji rezultat.
V C++ je ogromno knjižnic za posebne namene. Med najbolj znane knjižnice spadajo:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.