Nástin C ++ - Outline of C++
Následující obrys je poskytován jako přehled a aktuální průvodce C ++:
C ++ je staticky napsané, volná forma, multi-paradigma, sestaven, univerzální programovací jazyk. Je považován za jazyk střední úrovně, protože zahrnuje kombinaci obou vysoká úroveň a nízká úroveň jazykové funkce.[1] Byl vyvinut společností Bjarne Stroustrup počínaje rokem 1979 v Bell Labs jako doplněk k Jazyk C..
Co typ jazyka je C ++?
C ++ lze popsat jako všechny následující:
- Programovací jazyk - umělý jazyk určený ke komunikaci pokynů se strojem, zejména s počítačem. Programovací jazyky lze použít k vytvoření programů, které řídí chování stroje a / nebo k přesnému vyjádření algoritmů.
- Zkompilovaný jazyk - programovací jazyk implementovaný prostřednictvím překladačů (překladatelů, kteří generují strojový kód ze zdrojového kódu), a nikoli tlumočníků (postupných vykonavatelů zdrojového kódu, kde nedochází k žádnému překladu).
- Univerzální programovací jazyk - programovací jazyk určený k použití pro psaní softwaru v široké škále aplikačních domén.
- Střední jazyk - jazyk abstraktního stroje, který má pomáhat při analýze počítačových programů. Termín pochází z jejich použití v kompilátorech, kde překladač nejprve převádí zdrojový kód programu do formy vhodnější pro transformace zlepšující kód, jako mezikrok před generováním objektu nebo strojového kódu pro cílový stroj.
- Objektově orientovaný programovací jazyk - programovací jazyk založený na „objektech“, což jsou datové struktury, které obsahují data ve formě polí, často označovaných jako atributy; a kód ve formě postupů známých jako metody. Procedury objektu mohou přistupovat a upravovat datová pole objektů. V objektově orientovaném programování jsou počítačové programy navrženy tak, že jsou vyrobeny z objektů, které na sebe vzájemně působí.
- Staticky napsaný programovací jazyk
Obecné koncepty C ++
- Rozlišení jmen
- Vyhledání názvu podle argumentu - vztahuje se na vyhledávání názvu nekvalifikované funkce v závislosti na typech argumentů daných volání funkce. Toto chování je známé také jako Koenig vyhledávání, pojmenovaný po svém vynálezci Andrew Koenig (programátor).
- Automatické propojení - mechanismus pro automatické určování, ke kterým knihovnám se mají při vytváření programu v C nebo C ++ připojit. Aktivuje se pomocí
#pragma komentář (lib,
příkazy v hlavičkových souborech knihovny.) - Třídy - Třídy definují typy datových struktur a funkce, které na těchto datových strukturách fungují. Instance těchto datových typů jsou známé jako objekty a mohou obsahovat členské proměnné, konstanty, členské funkce a přetížené operátory definované programátorem. Programovací jazyk C ++ umožňuje programátorům oddělit datové typy specifické pro program pomocí tříd.
- Záruky výjimky
- Hlavičkový soubor
- Vnitřní třída
- Jedno pravidlo definice
- Neprůhledný ukazatel
- Prostá stará datová struktura
- Pravidlo tří (programování v C ++)
- Informace o typu běhu
- Sekvenční bod
- Jedna kompilační jednotka
- Speciální členské funkce
- Selhání substituce není chyba
- Šablona (C ++)
- Metaprogramování šablon
- Třída vlastností
- Nedefinované chování
- Virtuální volání funkcí
Problémy
C ++ Toolchain
Překladače C ++
C ++ knihovny
C ++ standardní knihovna
Standardní knihovna C ++ je kolekce nástrojů dodávaných s C ++ pro použití jakýmkoli programátorem C ++. Zahrnuje vstup a výstup, vícevláknové zpracování, čas, regulární výrazy, algoritmy pro běžné úkoly a méně běžné (find, for_each, swap atd.) a seznamy, mapy a hash mapy (a ekvivalent pro množiny) a třídu zvanou vektor, což je pole s možností změny velikosti. Mnoho dalších funkcí poskytuje standardní knihovna, ale hlavně ve formě určené k vytváření na vrcholu k vytvoření knihoven třetích stran.
Jiné pozoruhodné knihovny
- Knihovna aktivních šablon
- Adaptivní komunikační prostředí
- Algoritmická kostra
- Standardní knihovna Apache C ++
- Pásovec (knihovna C ++)
- Artefaktur
- Knihovna Asio C ++
- Knihovna AT&T FSM
- ATL server
- MÍČ
- Blitz ++
- Sběratel odpadků Boehm
- Boost (knihovny C ++)
- Grafické rozhraní Borland
- Botan (programovací knihovna)
- C ++ AMP
- CGAL
- Cinder (programovací knihovna) - rámec pro pokročilé možnosti vizualizace.
- ClanLib
- CodeSynthesis XSD
- CodeSynthesis XSD / e
- CppUnit
- Crypto ++
- CTPP
- D-Bus
- Knihovna pro správu databáze
- Dinkumware
- Effi (C ++)
- Vlastní (knihovna C ++)
- GDAL
- GDCM
- GiNaC
- Gtkmm
- 3D grafický systém HOOPS
- Integrované výkonnostní primitivy (IPP) - a vícevláknové software knihovna funkcí pro aplikace multimédií a zpracování dat, vytvořených společností Intel.
- Juce
- Kakadu (software)
- KFRlib - multiplatformní, optimalizovaný zvuk a DSP knihovna.
- LEMON (knihovna C ++)
- LevelDB
- Libarc
- LibLAS
- Libsigc ++
- Libx (grafická knihovna)
- LiteSQL
- LIVE555
- Loki (C ++)
- Knihovna matematických jader (MKL) - a knihovna optimalizovaných matematických rutin pro vědu, strojírenství a finanční aplikace, které vytvořil Intel.
- Knihovna šablon matic
- Metakit
- Knihovna tříd Microsoft Foundation
- Objekt Windows Library
- Objektově orientovaná hierarchie abstraktního typu
- ODB (C ++)
- OGRE
- Otevřete knihovnu pro import majetku
- Otevřete Inventor
- OpenImageIO
- Knihovna šablon Oracle
- Sada nástrojů Orfeo
- Knihovny POCO C ++
- Podofo
- Poppler (software)
- Sada nástrojů PTK
- Qt (rámec)
- Sada nástrojů RWTH FSA
- Knihovna zvukových objektů (SndObj)
- Stapl
- SymbolicC ++
- Navlékání stavebních bloků (TBB) - C ++ template library vyvinutá společností Intel Corporation pro psaní softwarových programů, které využívají výhody vícejádrových procesorů.
- VTD-XML
- Knihovna šablon Windows
- WxWidgets
- Xcas
- Xerces
- YAAF
Viz také
- Seznam vícevláknových knihoven C ++
- Seznam C ++ více přesných aritmetických knihoven
- Seznam knihoven šablon C ++
Historie C ++
- Historie C ++
- Programovací jazyky, které ovlivnily C ++
- Historie normalizace
- C ++ 98 - V roce 1998 normalizační výbor C ++ standardizoval C ++ a vydal mezinárodní normu ISO / IEC 14882: 1998 (neformálně známou jako C ++ 98).
- C ++ 03
- C ++ 11 - Schváleno ISO dne 12. srpna 2011, nahrazuje C ++ 03.[3] Název je odvozen z tradice pojmenování jazykových verzí do roku vydání specifikace.
- C ++ 14 - Nejnovější iterace C ++, oznámená ISO dne 18. srpna 2014, která nahrazuje C ++ 11.[4]
- C ++ 17 - Připravovaná verze. Specifikace je kompletní a vstupuje do období kontroly.[5]
- C ++ 20[6]
Příklad zdrojového kódu
- Články s ukázkovým kódem C ++
Publikace v C ++
Knihy o C ++
- Programovací jazyk C ++ - všeobecně považována za standardní učebnici jazyka. Autor: Bjarne Stroustrup.
- Návrh a vývoj C ++ - kniha Bjarne Stroustrupa o zrodu C ++.
- Moderní design v C ++ - kniha Andrei Alexandrescu o různých designových vzorech pomocí C ++.
Časopisy o C ++
- Zpráva v C ++ - byl dvouměsíční odborný počítačový časopis vydávaný společností SIGS Publications Group.
Osobnosti C ++
- Alexander Stepanov
- Andrei Alexandrescu
- Andrew Koenig
- Bjarne Stroustrup - dánský počítačový vědec, nejpozoruhodnější pro tvorbu a vývoj C ++.
- David Abrahams
- Douglas C. Schmidt
- Herb Sutter
- Jim Coplien (také znám jako James O. Coplien)
- Pete Becker
- Robert Cecil Martin
- Scott Meyers
C ++ dialekty
Standardizační výbor C ++ odrazuje od dialektů (s preferencí, že problém je vyřešen novou funkčností ve standardní knihovně, jak je tomu u položek jako multi-threading pro paralelní programování), nicméně některé dialekty byly z různých důvodů vytvořeny (odstranit funkce, které se obtížněji implementují, reakce na trend programování atd.):
- Dialekt programovacího jazyka - (relativně malá) variace nebo rozšíření jazyka, které nemění jeho přirozenou povahu.
- Kouzlo ++ - paralelní objektově orientovaný programovací jazyk založený na C ++ a vyvinutý v laboratoři paralelního programování na University of Illinois. Program Charm ++ je navržen s cílem zvýšit produktivitu programátoru poskytnutím abstrakce paralelního programu na vysoké úrovni a současně zajistit dobrý výkon na široké škále základních hardwarových platforem.
- Integrovaný C ++ - dialekt jazyka C ++ pro vestavěné systémy, vytvořený „s cílem poskytnout programátorům vestavěných systémů podmnožinu C ++, kterou průměrný programátor C snadno pochopí a použije“.[7]
- Vestavěný systém - počítačový systém navržený pro specifické řídicí funkce pro zařízení, stroj nebo zařízení, ve kterém je zabudován jako integrovaná součást produktu. Vestavěné systémy dnes řídí mnoho běžně používaných zařízení.
- R ++ - programovací jazyk založený na pravidlech vyvinutý společností Bell Labs v 90. letech na základě C ++.
- Sítový paralelní programovací systém C ++ - C ++ kompilátor a paralelní běh navržený a vydaný Codeplay, jehož cílem je zjednodušit paralelizaci kódu tak, aby mohl efektivně fungovat na víceprocesorových nebo vícejádrových systémech.
- ΜC ++
Rozšíření jazyka C ++
- AspectC ++ - aspektově orientované rozšíření jazyků C a C ++.
- C ++ / CLI - Specifikace jazyka společnosti Microsoft určená k nahrazení Managed Extensions pro C ++. Jedná se o úplnou revizi, jejímž cílem je zjednodušit starší syntaxi Managed C ++ (která je nyní zastaralá). C ++ / CLI je standardizováno společností Ecma jako ECMA-372. V současné době je k dispozici pouze v Vizuální studio 2005, 2008, 2010, 2012, 2013 a 2015 (rovněž součástí edice Express Edition).
- Společná jazyková infrastruktura - otevřená specifikace vyvinutá společností Microsoft a standardizovaná ISO a ECMA, která popisuje spustitelný kód a běhové prostředí, které tvoří jádro Microsoft .NET Framework a bezplatných a otevřených implementací Mono a Portable.NET.
- C ++ / CX - rozšíření jazyka pro kompilátory C ++ od společnosti Microsoft, které umožňuje programátorům C ++ psát programy pro novou platformu Windows Runtime nebo WinRT. Přináší sadu syntaxí a abstrakcí knihoven, které jsou v rozhraní s programovacím modelem WinRT založeným na modelu COM způsobem, který je přirozený pro nativní programátory C ++.
- Cilk Plus — vícevláknové paralelní výpočty rozšíření jazyků C a C ++.
- CUDA C / C ++ - kompilátor a rozšíření pro paralelní výpočet pomocí Nvidia grafické karty.
- Spravovaná rozšíření pro C ++ - zastaralá sada Microsoftových odchylek od C ++, včetně gramatických a syntaktických rozšíření, klíčových slov a atributů, aby přinesla syntaxi a jazyk C ++ do .NET Framework. Tato rozšíření umožnila cílení kódu C ++ na Common Language Runtime (CLR) ve formě spravovaného kódu, stejně jako pokračování spolupráce s nativním kódem. Nahrazeno C ++ / CLI.
Viz také
Reference
- ^ http://stroustrup.com/hopl-almost-final.pdf
- ^ Stroustrup, Bjarne (1997). „1“. Programovací jazyk C ++ (Třetí vydání.). ISBN 0201889544. OCLC 59193992.
- ^ „Máme mezinárodní standard: C ++ 0x je jednomyslně schválen“. Citováno 12. srpna 2011.
- ^ Sutter, Herb (18. srpna 2014). „Máme C ++ 14!“. Citováno 2014-08-18.
- ^ https://herbsutter.com/
- ^ https://herbsutter.com/ „dalším standardem po C ++ 17 bude C ++ 20“
- ^ EC ++ Otázky a odpovědi