Zarys C++

Poniższy konspekt stanowi przegląd i tematyczny przewodnik po języku C++:

C++ to statycznie typowany , dowolny , wieloparadygmatowy , kompilowany język programowania ogólnego przeznaczenia . Jest uważany za język średniozaawansowany, ponieważ zawiera kombinację cech języka wysokiego i niskiego poziomu . Został opracowany przez Bjarne'a Stroustrupa od 1979 roku w Bell Labs jako rozszerzenie języka C.

Jakim typem języka jest C++?

C++ można opisać jako wszystkie z poniższych:

  • Język programowania — sztuczny język przeznaczony do przekazywania instrukcji maszynie, w szczególności komputerowi. Języki programowania mogą być używane do tworzenia programów kontrolujących zachowanie maszyny i/lub do precyzyjnego wyrażania algorytmów.
    • Język skompilowany — język programowania realizowany za pomocą kompilatorów (tłumaczy generujących kod maszynowy z kodu źródłowego), a nie interpreterów (wykonawców kodu źródłowego krok po kroku, w których nie odbywa się żadne tłumaczenie).
    • Język programowania ogólnego przeznaczenia — język programowania przeznaczony do pisania oprogramowania w wielu różnych dziedzinach zastosowań.
    • Język pośredni — język abstrakcyjnej maszyny zaprojektowanej do pomocy w analizie programów komputerowych. Termin pochodzi od ich użycia w kompilatorach, gdzie kompilator najpierw tłumaczy kod źródłowy programu na postać bardziej odpowiednią do transformacji poprawiających kod, jako krok pośredni przed wygenerowaniem kodu obiektowego lub maszynowego dla maszyny docelowej.
    • Obiektowy język programowania – język programowania oparty na „obiektach”, czyli strukturach danych zawierających dane, w postaci pól, często nazywanych atrybutami; i kod w postaci procedur, zwanych metodami. Procedury obiektu mogą uzyskiwać dostęp do pól danych obiektów i modyfikować je. W programowaniu obiektowym programy komputerowe są projektowane poprzez tworzenie ich z obiektów, które wchodzą ze sobą w interakcje.
    • Język programowania o typie statycznym

Ogólne koncepcje C++

Kwestie

Łańcuch narzędzi C++

kompilatory C++

Biblioteki C++

Standardowa biblioteka C++

Standardowa biblioteka C++ to zbiór narzędzi dostarczanych z C++ do użytku przez dowolnego programistę C++. Obejmuje wejście i wyjście, wielowątkowość, czas, wyrażenia regularne, algorytmy do typowych i mniej powszechnych zadań (znajdź, for_each, swap itp.) oraz listy, mapy i mapy haszujące (oraz odpowiedniki dla zestawów) oraz klasa o nazwie vector, która jest tablicą o zmiennym rozmiarze. Wiele innych funkcji zapewnia standardowa biblioteka, ale głównie w formie przeznaczonej do budowania na wierzchu w celu tworzenia bibliotek stron trzecich.

Inne godne uwagi biblioteki

Zobacz też

Historia C++

  • Historia C++
  • Języki programowania, które wpłynęły na C++
  • Historia normalizacji
    • C++98 — W 1998 roku komitet normalizacyjny C++ dokonał standaryzacji C++ i opublikował międzynarodowy standard ISO/IEC 14882:1998 (nieformalnie znany jako C++98).
    • C++03
    • C++11 — zatwierdzony przez ISO od 12 sierpnia 2011 r., zastępujący C++03. Nazwa wywodzi się z tradycji nazewnictwa wersji językowych według roku publikacji specyfikacji.
    • C++ 14 — najnowsza wersja C++, ogłoszona przez ISO 18 sierpnia 2014 r., zastępująca C++ 11.
    • C++17 — nadchodząca wersja. Specyfikacja jest kompletna i wchodzi w okres przeglądu.
    • C++20

Przykładowy kod źródłowy

Publikacje C++

Książki o C++

Czasopisma o C++

  • C++ Report — był dwumiesięcznym profesjonalnym magazynem komputerowym wydawanym przez SIGS Publications Group.

osobowości C++

dialekty C++

Komitet standaryzacyjny C++ odradza dialekty (preferując rozwiązanie problemu przez nową funkcjonalność w standardowej bibliotece, jak ma to miejsce w przypadku elementów takich jak wielowątkowość w programowaniu równoległym), jednak niektóre dialekty zostały stworzone z różnych powodów (aby usunąć trudniejsze do zaimplementowania funkcje, odpowiedź na trend programistyczny itp.):

  • Dialekt języka programowania — (stosunkowo niewielka) odmiana lub rozszerzenie języka, które nie zmienia jego wewnętrznej natury.
    • Charm++ — obiektowy język programowania równoległego oparty na C++ i opracowany w Laboratorium Programowania Równoległego na Uniwersytecie Illinois. Charm++ został zaprojektowany w celu zwiększenia produktywności programistów poprzez zapewnienie wysokiego poziomu abstrakcji programu równoległego, przy jednoczesnym zapewnieniu dobrej wydajności na szerokiej gamie bazowych platform sprzętowych.
    • Embedded C++ — dialekt C++ dla systemów wbudowanych, stworzony „w celu zapewnienia programistom systemów wbudowanych podzbioru C++, który jest łatwy do zrozumienia i użycia przez przeciętnego programistę C”.
      • System wbudowany — system komputerowy przeznaczony do określonych funkcji sterowania obiektem, maszyną lub urządzeniem, w którym jest osadzony jako integralna część produktu. Systemy wbudowane sterują wieloma powszechnie używanymi urządzeniami.
  • R++ — oparty na regułach język programowania opracowany przez firmę Bell Labs w latach 90. XX wieku w oparciu o język C++.
  • Sieve C++ Parallel Programming System — kompilator C++ i równoległe środowisko wykonawcze zaprojektowane i wydane przez Codeplay, którego celem jest uproszczenie równoległego przetwarzania kodu, tak aby mógł on wydajnie działać w systemach wieloprocesorowych lub wielordzeniowych.

rozszerzenia języka C++

  • AspectC++ — zorientowane na aspekty rozszerzenie języków C i C++.
  • C++/CLI — specyfikacja językowa firmy Microsoft mająca na celu zastąpienie rozszerzeń zarządzanych dla języka C++. Jest to kompletna wersja mająca na celu uproszczenie starszej składni Managed C++ (która jest obecnie przestarzała). C++/CLI jest standaryzowany przez Ecma jako ECMA-372. Jest obecnie dostępny tylko w Visual Studio 2005, 2008, 2010, 2012, 2013 i 2015 (również w Express Editions).
    • Wspólna infrastruktura językowa — otwarta specyfikacja opracowana przez firmę Microsoft i znormalizowana przez ISO i ECMA, która opisuje kod wykonywalny i środowisko wykonawcze, które stanowią rdzeń platformy Microsoft .NET Framework oraz darmowych i otwartych implementacji Mono i Portable.NET.
  • C++/CX — rozszerzenie języka dla kompilatorów C++ firmy Microsoft, które umożliwia programistom C++ pisanie programów dla nowej platformy Windows Runtime lub WinRT. Zapewnia zestaw abstrakcji składni i bibliotek, które łączą się z modelem programowania WinRT opartym na modelu COM w sposób naturalny dla natywnych programistów C++.
  • Cilk Plus — rozszerzenie wielowątkowych obliczeń równoległych języków C i C++.
  • CUDA C/C++ — kompilator i rozszerzenia do obliczeń równoległych z wykorzystaniem kart graficznych Nvidia .
  • Managed Extensions for C++ — przestarzały zestaw Microsoft odchyleń od C++, w tym rozszerzenia gramatyczne i składniowe, słowa kluczowe i atrybuty, aby przenieść składnię i język C++ do .NET Framework. Te rozszerzenia umożliwiły kierowanie kodu C++ do środowiska uruchomieniowego języka wspólnego (CLR) w postaci kodu zarządzanego, a także dalsze współdziałanie z kodem natywnym. Zastąpiony przez C++/CLI.

Zobacz też

Linki zewnętrzne