- Dějiny
- Návrh a implementace
- První vydání
- C 2,0
- Standardizovaná verze
- Poslední aktualizace
- Funkce C ++
- Populární jazyk
- Objektově orientovaný
- Procesní
- Strukturované programování
- Správa paměti
- Ukazatele
- Zkompilovaný jazyk
- Datové typy v C ++
- - Hlavní
- Int
- Plovák
- Char
- Dvojnásobek
- Prázdný (Null)
- Bool
- - Sekundární
- Uspořádání
- Ukazatele
- Funkce
- - Definováno uživatelem
- Struktury
- unie
- K čemu slouží C ++? Aplikace
- Aplikace
- Operační systémy
- Kompilátory
- Hry
- internetové prohlížeče
- Internet věcí
- Cloudové / distribuované systémy
- Přístup k databázím
- Příklady
- Knihovny
- Výhoda
- Rychlost
- Blízko hardwaru
- Účinnost
- Svoboda volby programovacích stylů
- Schopnost rozložit složité problémy
- Schopnost detekovat chyby před provedením
- Nevýhody
- Použití ukazatelů
- Problémy se zabezpečením
- Žádný sběratel odpadu
- Absence vlákna
- Kompilované programy
- Může být složité
- Reference
C ++ je vylepšená a rozšířená verze programovacího jazyka C, který vyvinul Stroustrup v roce 1979 jako součást svého doktorského projektu. Stroustrup navrhl to, čemu říkal „C se třídami“, které se později nazývalo C ++, protože věřil, že stávající programovací jazyky mají omezení a nejsou nejlepší pro velké projekty.
Proto použil C k vývoji programovacího jazyka, který hledal, protože C byl efektivní jazyk a rychle se ovládal.
Zdroj: pixabay.com
C ++ je univerzální programovací jazyk, který je rafinovaný a výkonný. Tento kompilovaný, volně tvarovaný jazyk je nejvhodnější pro programátory střední úrovně.
Avšak ti, kteří chtějí začít s programováním v C ++, zjistí, že se mohou rychle naučit programovacím konceptům, které jim povedou dlouhou cestu v jejich kariéře.
Je kompatibilní s objektově orientovaným programováním a má všechny své vlastnosti. Tyto koncepty dělají jazyk C ++ odlišným a používají se hlavně k vývoji aplikací snadným a konceptualizovaným způsobem.
Dějiny
Návrh a implementace
C ++ byl navržen a implementován v roce 1980 Bjarne Stroustrup v AT&T Bell Labs, krásně spojující koncepty procedurálního a objektově orientovaného programování.
V jazyce C se operátor ++ používá ke zvýšení proměnné, čímž se projevuje Stroustrupova myšlenka, že C ++ bude další generací jazyka C.
První vydání
C ++ byl poprvé uveden na trh v roce 1985. V roce 1986 vydal Stroustrup svou slavnou knihu s názvem Programovací jazyk C ++, která se stala referenční příručkou jazyka.
C 2,0
Nejdůležitějším vydáním C ++ byl C 2.0 v roce 1989, dokumentovaný Ellisem a Stroustrupem v The C ++ Annotated Reference Manual. Byl to úplně objektově orientovaný jazyk.
Standardizovaná verze
První standardizovaná verze C ++ 98 byla vydána v roce 1998. Tato mezinárodní norma pro C ++ byla vyvinuta Americkým národním normalizačním institutem (ANSI) a Mezinárodní normalizační organizací (ISO).
V roce 2003 byla zveřejněna následující norma C ++ 03 s cílem opravit chyby identifikované v C ++ 98 a zajistit, aby jazyk měl větší přenositelnost a konzistenci.
Poslední aktualizace
Další hlavní aktualizace jazyka přišla v roce 2011 a nazývala se C ++ 11. Ke zlepšení jejího běhového výkonu bylo přidáno několik funkcí.
Poté byl vydán C ++ 14, kde byla provedena určitá vylepšení a opravy chyb C ++ 11. Další verze vydaná v roce 2017 byla C ++ 17, která má několik nových funkcí a mnohem rozsáhlejší standardní knihovnu.
Funkce C ++
Populární jazyk
C ++ je široce používán vývojáři, hlavně v aplikacích. Obsahuje všechny důležité části, jako základní jazyk, který poskytuje všechny požadované vývojové bloky, jako jsou proměnné, datové typy, literály atd.
Podle indexu programovací komunity TIOBE je to čtvrtý nejoblíbenější programovací jazyk.
Díky použití C ++ je díky svým vlastnostem nejvýhodnějším jazykem. Je to první spouštěcí jazyk pro všechny vývojáře, kteří mají zájem pracovat s programovacími jazyky. Je snadné se ho naučit, protože se jedná o čistě konceptový jazyk.
Jeho syntaxe je velmi jednoduchá, usnadňuje zápis a chyby lze snadno replikovat. Před použitím jakéhokoli jiného jazyka se programátoři raději naučili nejprve C ++ a poté ostatní.
Většina vývojářů se však snaží držet C ++ kvůli široké škále použití a kompatibilitě s různými platformami a softwarem.
Objektově orientovaný
Hlavní aktualizace z C na C ++ je objektově orientované programování. To znamená, že je kladen důraz na „objekty“ a manipulaci s nimi.
Sleduje koncepty polymorfismu, dědičnosti, zapouzdření a abstrakce, usnadňující vývoj a údržbu.
Procesní
C ++ podporuje koncepci procedur a podprogramů, které uzavírají segmenty kódu do opakovaně použitelných bloků, které lze pro provádění jednotlivých úkolů nazvat.
Procedury a podprogramy jsou známy jako funkce v C ++. Funkce může nabrat nulu nebo více parametrů a vrátit nulu nebo hodnotu.
Strukturované programování
C ++ kód je modulární, s podporou funkcí, tříd a objektů, moduly volně padnou.
Příkazy řízení toku v C ++ jsou podobné jako v mnoha jiných strukturovaných programovacích jazycích. Jedná se o implementaci logiky rozhodování, pro implementaci iterací nebo smyček, pro, chvíli a do-while.
Správa paměti
C ++ podporuje dynamické přidělení paměti. Takto můžete kdykoli uvolnit přidělenou paměť.
Ukazatele
Jsou to proměnné, které ukládají adresu jiné proměnné. Ukazatel ukazuje na umístění proměnné v paměti. C ++ podporuje ukazatele, které poskytují řešení mnoha problémů, které vyžadují přístup k umístění paměti.
Zkompilovaný jazyk
Předtím, než může být spuštěn, musí být program C ++ přeložen do nativních instrukcí cílového stroje programem zvaným kompilátor. Bez kompilace nelze spustit žádný program C ++. Kompilátor kompiluje program C ++ tak, aby mohl být později spuštěn.
Datové typy v C ++
- Hlavní
Int
Používá se k ukládání celých čísel. Paměť, kterou zabírá, závisí na kompilátoru (32 nebo 64 bitů). Při práci s 32bitovým kompilátorem zabírá 4 bajty paměti.
Plovák
Používá se k ukládání zlomků až do 7 desetinných míst. Je známa jako jediný typ s plovoucí desetinnou čárkou. Zabírá 4 bajty paměti.
Char
Používá se k uložení sady všech znaků. Může obsahovat písmena abecedy, čísla a také speciální znaky. Zabírá 1 bajt paměti a je nejmenší adresovatelnou jednotkou v počítači.
Dvojnásobek
Slouží k ukládání zlomků až 15-16 desetinných míst. Je obecně znám jako typ s dvojitou přesností s pohyblivou řádovou čárkou.
Prázdný (Null)
Označuje nulovou nebo žádnou návratovou hodnotu. Obecně se používá k přiřazení nulové hodnoty při deklarování funkce.
Bool
Tento datový typ odkazuje na logickou nebo logickou hodnotu. Může mít hodnotu true nebo false.
- Sekundární
Uspořádání
Jedná se o soubor dat, který mají stejný typ dat, ke kterému se přistupuje pod běžným názvem.
Ukazatele
V zásadě se jedná o proměnné, které se používají k uložení adresy paměti jiné proměnné.
Funkce
Je to skupina vět, která plní určitý úkol. Funkce jsou vestavěné nebo uživatelem definované knihovny.
- Definováno uživatelem
Struktury
Je to typ dat, ve kterém lze prostřednictvím objektu vytvářet a zpřístupňovat sbírku různých typů dat.
unie
Poskytuje možnost ukládat různé typy dat na stejné místo v paměti.
K čemu slouží C ++? Aplikace
Aplikace
Mnoho aplikací na systémech Adobe je vyvíjeno v jazyce C ++, například Illustrator, Photoshop, Adobe Premiere a Image Ready.
Operační systémy
C ++ se používá ve všech hlavních operačních systémech, jako je Linux, Windows a MacOS, protože se jedná o programovací jazyk nízké úrovně.
Kompilátory
Většina kompilátorů je psána v jazyce C ++. Také kompilátory, které se používají ke kompilaci jiných jazyků, jako je C #, Java atd.
Hry
Slouží k odstranění složitosti 3D her a pomáhá optimalizovat zdroje. Navíc je kompatibilní s možností více hráčů v sítích.
internetové prohlížeče
Umožňuje rychlé provedení a reprezentaci grafiky, což je rozhodující pro současné uživatele, kteří požadují obsah, který se může rychle zobrazit ve webových prohlížečích. C ++ byl použit k vytvoření internetových prohlížečů Google Chrome a Mozilla Firefox.
Internet věcí
Některé produkty společnosti Internet of Things, jako jsou chytré hodinky, auta, pračky, směrovače a přepínače, používají C ++, protože vyžadují kód, který je co nejblíže hardwaru.
Cloudové / distribuované systémy
Používá se v cloudu v úložných systémech a distribuovaných systémech, kde škálovatelné systémy souborů musí úzce spolupracovat s hardwarem a kritická je také kompatibilita s různými počítači.
Přístup k databázím
Používá se k vývoji databázového softwaru s otevřeným zdrojovým kódem. Velmi oblíbený software pro správu databází používaný v organizacích, MySQL, je psán v C ++ díky výhodám, které nabízí.
Existují další aplikace založené na přístupu k databázovému softwaru, kterými jsou Wikipedia, Yahoo, YouTube, Quora atd.
Příklady
Tento program od uživatele obdrží kladné celé číslo a uloží jej do proměnné n. Pak se provede smyčka for, která zkontroluje, zda je zadané číslo dokonale dělitelné io nebo ne.
Smyčka for začíná počáteční hodnotou i rovnou 2, zvyšující hodnotu i při každé iteraci. Pokud je číslo zadané uživatelem dokonale dělitelné i, isPrime je nastaveno na false a toto číslo nebude prvočíslo.
Pokud však číslo není dokonale dělitelné i, dokud není zkušební podmínka i <= n / 2 pravdivá, znamená to, že je dělitelné pouze 1 a stejným číslem. Takže dané číslo je prvočíslo.
Knihovny
Vývojáři mají přístup k mnoha vestavěným funkcím poskytovaným jazykem C ++. To šetří čas a urychluje vývoj. Některé ze souborů záhlaví C ++ s poskytovanými funkcemi jsou:
- iomanip: obsahuje popisovače toku, které formátují toky dat.
- iostream: obsahuje standardní vstupní a výstupní funkce.
- cstdlib: obsahuje funkci pro převod čísel na text a naopak, - cmath: obsahuje funkce matematické knihovny, přidělení paměti, náhodná čísla a různé další užitečné funkce.
- fstream: obsahuje funkce, které provádějí vstup a výstup souborů na disku.
- ctime: obsahuje funkci pro zpracování času a data.
- paměť: obsahuje třídy a funkce používané standardní knihovnou C ++ k přidělení paměti.
Výhoda
Rychlost
Protože C ++ je rozšířená verze C, což je programovací jazyk nízké úrovně, je to jeden z nejrychlejších dostupných jazyků. Díky tomu je užitečné v oblastech, kde je požadovaný výkon kritický.
Blízko hardwaru
C ++ je jeden z programovacích jazyků, který je nejblíže k hardwaru. To je velmi výhodné v těch prostorech, kde software musí mít úzký vztah s hardwarem, aby mohl účinně provádět podporu na nízké úrovni.
Účinnost
C ++ má standardní knihovnu šablon, které lze při kódování široce použít. Tyto knihovny poskytují efektivní algoritmy, které umožňují programátorovi ušetřit čas a úsilí, což by jinak bylo zbytečným vytvářením kódu.
Svoboda volby programovacích stylů
C ++ podporuje asi sedm různých stylů kódování, což z něj činí multimodální programovací jazyk. Můžete si tedy vybrat styl, který vyhovuje konkrétnímu případu použití, aniž byste museli používat objekty.
Schopnost rozložit složité problémy
C ++ dokáže intuitivně řešit složité problémy vytvářením objektů. Funkce C ++ navíc umožňují rozdělit kód do kódových bloků, které jsou jasné, snadno pochopitelné a snadno testovatelné a modifikovatelné.
Schopnost detekovat chyby před provedením
C ++ má statický typ, což znamená, že kompilátor nevytváří žádné předpoklady o tom, co programátor píše. Výhodou je, že kompilátor dokáže zachytit chyby a selhání před spuštěním, což může dlouhodobě ušetřit čas.
Nevýhody
Použití ukazatelů
Ukazatele jsou poměrně obtížné pochopit a také spotřebovávají spoustu paměti. Zneužití ukazatele může způsobit, že se systém neobvykle zablokuje nebo chová.
Hlavním problémem je, když data směřují stejně ze dvou různých počátečních bodů, což způsobuje významný problém a způsobuje matoucí problémy v kódování.
Problémy se zabezpečením
Ačkoli objektově orientované programování poskytuje data, která jsou zpracována, hodně zabezpečení, stále však existují určité bezpečnostní problémy kvůli dostupnosti přátelských funkcí, globálních proměnných a ukazatelů.
Žádný sběratel odpadu
C ++ poskytuje uživateli úplnou kontrolu správy paměti počítače. Postrádá funkci sběratele odpadu na automatické odfiltrování nepotřebných dat, a proto nepodporuje dynamické přidělení paměti.
Absence vlákna
C ++ nepodporuje vestavěné podprocesy. Koncept vlákna je v C ++ relativně nový, protože původně neexistoval. Nyní je C ++ schopna podporovat funkce lambda.
Kompilované programy
Jako kompilovaný jazyk nejsou spustitelné soubory vytvořené kompilátorem ze zdrojového kódu přenosné a budou fungovat pouze na cílové platformě (hardware plus operační systém), pro kterou byly kompilovány, nebo na podporované binární platformě.
Může být složité
C ++ může být složité, protože umožňuje třídy, které jsou funkcemi se stejným názvem. Proto musí být použit systém pro manipulaci se symboly. Navíc je to složité pro velmi velký program na vysoké úrovni. C ++ se běžně používá pro aplikace specifické pro platformu.
Reference
- Simplilearn (2020). Programování v C ++ pro začátečníky: Historie, výhody a aplikace. Převzato z: simplilearn.com.
- Educba (2020). Použití C ++ v reálném světě. Převzato z: educba.com.
- Dmitrii Rassokhin (2020). Programovací jazyk C ++ v cheminformatice a výpočetní chemii. Journal of Cheminformatics. Převzato z: jcheminf.biomedcentral.com.
- Edureka! (2020). Jaké jsou 10 nejlepších funkcí C ++? Převzato z: edureka.co.
- Aman Goel (2020). Jazyk C ++: Funkce, použití, aplikace a výhody. Zaseknout. Převzato z: hackr.io.
- Steemit (2020). C ++: Naučte se kódovat. Historie, výhody, nevýhody jazyka C ++. Převzato z: steemit.com.
- Data Flair (2019). Naučte se datové typy v C a C ++ s příkladem za pouhé 4 minuty. Převzato z: data-flair.training.