- Historia
- Projektowanie i wdrażanie
- Pierwsze wydanie
- C 2.0
- Wersja standardowa
- Ostatnie aktualizacje
- Funkcje C ++
- Popularny język
- Zorientowany obiektowo
- Proceduralny
- Programowanie strukturalne
- Zarządzanie pamięcią
- Wskaźniki
- Język kompilowany
- Typy danych w C ++
- - Podstawowy
- Int
- Pływak
- Zwęglać
- Podwójnie
- Pusty (null)
- Bool
- - Wtórny
- Ustalenia
- Wskaźniki
- cechy
- - Określony przez użytkownika
- Struktury
- Unia
- Do czego służy C ++? Aplikacje
- Aplikacje
- System operacyjny
- Kompilatory
- Gry
- Przeglądarki internetowe
- Internet przedmiotów
- Chmura / systemy rozproszone
- Dostęp do baz danych
- Przykłady
- Biblioteki
- Korzyść
- Prędkość
- Blisko sprzętu
- Wydajność
- Swoboda wyboru stylów programowania
- Umiejętność rozwiązywania złożonych problemów
- Możliwość wykrycia błędów przed wykonaniem
- Niedogodności
- Stosowanie wskaźników
- Problemy z bezpieczeństwem
- Nie ma śmieciarki
- Brak wątku
- Skompilowane programy
- Może być złożone
- Bibliografia
C ++ to ulepszona i rozszerzona wersja języka programowania C, która została opracowana przez Stroustrupa w 1979 roku w ramach jego projektu doktorskiego. Stroustrup zaprojektował coś, co nazwał „C z klasami”, które później nazwano C ++, ponieważ uważał, że istniejące języki programowania mają ograniczenia i nie są najlepsze dla projektów na dużą skalę.
Dlatego użył C do opracowania języka programowania, którego szukał, ponieważ C był językiem efektywnym i szybkim w obsłudze.
Źródło: pixabay.com
C ++ to język programowania ogólnego przeznaczenia, który jest dopracowany i potężny. Ten skompilowany język o dowolnej formie najlepiej nadaje się dla programistów na poziomie średnio zaawansowanym.
Jednak ci, którzy chcą rozpocząć programowanie w C ++, przekonają się, że mogą szybko nauczyć się koncepcji programowania, które zajmą im długą drogę w karierze.
Jest kompatybilny z programowaniem obiektowym, zachowując wszystkie jego cechy. Te koncepcje sprawiają, że język C ++ jest inny i jest używany głównie do tworzenia aplikacji w łatwy i konceptualny sposób.
Historia
Projektowanie i wdrażanie
C ++ został zaprojektowany i wdrożony w 1980 roku przez Bjarne Stroustrupa z AT&T Bell Labs, wspaniale łącząc koncepcje programowania proceduralnego i obiektowego.
W języku C operator ++ służy do inkrementacji zmiennej, manifestując w ten sposób pomysł Stroustrupa, że C ++ będzie następną generacją języka C.
Pierwsze wydanie
C ++ został wydany w 1985 roku po raz pierwszy na rynku. W 1986 Stroustrup opublikował swoją słynną książkę zatytułowaną The C ++ Programming Language, stając się podręcznikiem odniesienia dla tego języka.
C 2.0
Najważniejszym wydaniem C ++ było C 2.0 z 1989 roku, udokumentowane przez Ellisa i Stroustrupa w The C ++ Annotated Reference Manual. Był to język całkowicie obiektowy.
Wersja standardowa
Pierwsza znormalizowana wersja, C ++ 98, została wydana w 1998 roku. Ten międzynarodowy standard dla C ++ został opracowany przez American National Standards Institute (ANSI) i Międzynarodową Organizację Normalizacyjną (ISO).
W 2003 r. Opublikowano następujący standard C ++ 03 z zamiarem poprawienia błędów zidentyfikowanych w C ++ 98 i zapewnienia większej przenośności i spójności języka.
Ostatnie aktualizacje
Następna duża aktualizacja języka pojawiła się w 2011 roku i została nazwana C ++ 11. Dodano kilka funkcji poprawiających wydajność środowiska wykonawczego.
Następnie wydano C ++ 14, w którym wprowadzono pewne ulepszenia i poprawki błędów C ++ 11. Następną wersją wydaną w 2017 roku był C ++ 17, który ma kilka nowych funkcji i znacznie bardziej rozbudowaną bibliotekę standardową.
Funkcje C ++
Popularny język
C ++ jest szeroko stosowany przez programistów, głównie w aplikacjach. Zawiera wszystkie ważne części, takie jak podstawowy język, który zapewnia wszystkie wymagane bloki programistyczne, takie jak zmienne, typy danych, literały itp.
Jest to czwarty najpopularniejszy język programowania według indeksu społeczności programistów TIOBE.
Zastosowanie C ++ sprawia, że jest to najwygodniejszy język ze względu na swoje właściwości. Jest to pierwszy język startowy dla każdego programisty zainteresowanego pracą z językami programowania. Łatwo się go nauczyć, ponieważ jest to język oparty wyłącznie na pojęciach.
Jego składnia jest bardzo prosta, co ułatwia pisanie, a błędy można łatwo replikować. Przed użyciem jakiegokolwiek innego języka programiści woleli najpierw nauczyć się C ++, a dopiero potem używać innych.
Jednak większość programistów stara się trzymać C ++ ze względu na jego szeroką gamę zastosowań i zgodność z wieloma platformami i oprogramowaniem.
Zorientowany obiektowo
Główną aktualizacją z C do C ++ jest programowanie obiektowe. Oznacza to, że nacisk kładziony jest na „obiekty” i obchodzenie się z nimi.
Jest zgodny z koncepcjami polimorfizmu, dziedziczenia, hermetyzacji i abstrakcji, ułatwiając rozwój i utrzymanie.
Proceduralny
C ++ obsługuje koncepcję procedur i podprogramów, które zamykają segmenty kodu w blokach wielokrotnego użytku, które można „wywołać” w celu wykonania poszczególnych zadań.
Procedury i podprogramy są w C ++ znane jako funkcje. Funkcja może przyjmować zero lub więcej parametrów i zwracać zero lub wartość.
Programowanie strukturalne
Kod C ++ jest modularny, ze wsparciem funkcji, klas i obiektów, z dowolnie dopasowanymi modułami.
Instrukcje kontroli przepływu w C ++ są podobne do tych, które można znaleźć w wielu innych strukturalnych językach programowania. Są to if-else do zaimplementowania logiki decyzyjnej oraz for, while i do-while do implementacji iteracji lub pętli.
Zarządzanie pamięcią
C ++ obsługuje dynamiczną alokację pamięci. W ten sposób możesz zwolnić przydzieloną pamięć w dowolnym momencie.
Wskaźniki
Są to zmienne, które przechowują adres innej zmiennej. Wskaźnik wskazuje miejsce w pamięci zmiennej. C ++ obsługuje wskaźniki, aby zapewnić rozwiązania wielu problemów, które wymagają dostępu do lokalizacji pamięci.
Język kompilowany
Zanim program C ++ będzie mógł zostać wykonany, musi zostać przetłumaczony na natywne instrukcje maszyny docelowej przez program zwany kompilatorem. Żaden program w C ++ nie może działać bez kompilacji. Kompilator kompiluje program w C ++, aby można go było później uruchomić.
Typy danych w C ++
- Podstawowy
Int
Służy do przechowywania liczb całkowitych. Pamięć, którą zajmuje, zależy od kompilatora (32 lub 64 bity). Zajmuje 4 bajty pamięci podczas pracy z 32-bitowym kompilatorem.
Pływak
Służy do przechowywania ułamków o długości do 7 cyfr dziesiętnych. Jest znany jako typ zmiennoprzecinkowy o pojedynczej precyzji. Zajmuje 4 bajty pamięci.
Zwęglać
Służy do przechowywania zestawu wszystkich znaków. Może zawierać litery alfabetu, cyfry, a także znaki specjalne. Zajmuje 1 bajt pamięci, będąc najmniejszą adresowalną jednostką w maszynie.
Podwójnie
Służy do przechowywania ułamków o długości do 15-16 cyfr dziesiętnych. Jest ogólnie znany jako typ zmiennoprzecinkowy podwójnej precyzji.
Pusty (null)
Wskazuje zero lub brak wartości zwracanej. Zwykle używany do przypisywania wartości null podczas deklarowania funkcji.
Bool
Ten typ danych odnosi się do wartości logicznej lub logicznej. Może mieć wartość prawda lub fałsz.
- Wtórny
Ustalenia
Jest to zbiór danych, które mają ten sam typ danych, do których dostęp uzyskuje się za pomocą wspólnej nazwy.
Wskaźniki
Zasadniczo są to zmienne używane do przechowywania adresu pamięci innej zmiennej.
cechy
Jest to grupa zdań, które wykonują określone zadanie. Funkcje to wbudowane lub zdefiniowane przez użytkownika biblioteki.
- Określony przez użytkownika
Struktury
Jest to rodzaj danych, w których można utworzyć zbiór różnych typów danych i uzyskać do nich dostęp za pośrednictwem obiektu.
Unia
Zapewnia możliwość przechowywania różnych typów danych w tej samej lokalizacji pamięci.
Do czego służy C ++? Aplikacje
Aplikacje
Wiele aplikacji w systemach Adobe jest tworzonych w języku C ++, takich jak Illustrator, Photoshop, Adobe Premiere i Image Ready.
System operacyjny
C ++ jest używany we wszystkich głównych systemach operacyjnych, takich jak Linux, Windows i macOS, ponieważ jest to język programowania niskiego poziomu.
Kompilatory
Większość kompilatorów jest napisana w języku C ++. Również kompilatory używane do kompilowania innych języków, takich jak C #, Java itp.
Gry
Służy do eliminacji złożoności gier 3D, pomagając w optymalizacji zasobów. Ponadto jest kompatybilny z opcją multiplayer w sieciach.
Przeglądarki internetowe
Pozwala na szybkie wykonanie i odwzorowanie grafiki, co jest krytyczne dla obecnych użytkowników, którzy wymagają treści szybko wyświetlających się w przeglądarkach internetowych. C ++ został użyty do stworzenia przeglądarek internetowych Google Chrome i Mozilla Firefox.
Internet przedmiotów
Niektóre produkty Internetu rzeczy, takie jak inteligentne zegarki, samochody, pralki, routery i przełączniki, używają języka C ++, ponieważ wymagają kodu, który jest jak najbliżej sprzętu.
Chmura / systemy rozproszone
Jest używany w chmurze w systemach pamięci masowej i systemach rozproszonych, gdzie skalowalne systemy plików muszą ściśle współpracować ze sprzętem, a zgodność z różnymi maszynami jest również krytyczna.
Dostęp do baz danych
Służy do tworzenia oprogramowania bazodanowego typu open source. Bardzo popularne oprogramowanie do administrowania bazami danych używane w organizacjach, MySQL, zostało napisane w języku C ++ dzięki oferowanym korzyściom.
Istnieją inne aplikacje oparte na dostępie do oprogramowania bazodanowego, którymi są Wikipedia, Yahoo, YouTube, Quora itp.
Przykłady
Ten program otrzymuje od użytkownika dodatnią liczbę całkowitą i przechowuje ją w zmiennej n. Następnie wykonywana jest pętla for, która sprawdza, czy wprowadzona liczba jest doskonale podzielna przez io, czy nie.
Pętla for zaczyna się od wartości początkowej i równej 2, zwiększając wartość i z każdą iteracją. Jeśli liczba wprowadzona przez użytkownika jest całkowicie podzielna przez i, isPrime jest ustawiane na false, a liczba nie będzie liczbą pierwszą.
Jeśli jednak liczba nie jest w pełni podzielna przez i, dopóki warunek testu i <= n / 2 nie jest prawdziwy, oznacza to, że można ją podzielić tylko przez 1 i tę samą liczbę. Więc podana liczba jest liczbą pierwszą.
Biblioteki
Programiści mają dostęp do wielu wbudowanych funkcji udostępnianych przez język C ++. Oszczędza to czas i przyspiesza rozwój. Niektóre pliki nagłówkowe C ++ z dostarczonymi funkcjami to:
- iomanip: zawiera procedury obsługi przepływu, które formatują przepływy danych.
- iostream: zawiera standardowe funkcje wejścia i wyjścia.
- cstdlib: zawiera funkcję konwersji liczb na tekst i odwrotnie,
- cmath: zawiera funkcje biblioteki matematycznej, alokację pamięci, liczby losowe i różne inne przydatne funkcje.
- fstream: zawiera funkcje, które wykonują operacje wejścia i wyjścia plików na dysku.
- ctime: zawiera funkcję obsługującą czas i datę.
- pamięć: zawiera klasy i funkcje używane przez standardową bibliotekę C ++ do przydzielania pamięci.
Korzyść
Prędkość
Ponieważ C ++ jest rozszerzoną wersją C, który jest językiem programowania niskiego poziomu, jest to jeden z najszybszych dostępnych języków. Dzięki temu jest przydatny w tych obszarach, w których wymagana wydajność jest krytyczna.
Blisko sprzętu
C ++ to jeden z języków programowania, który jest najbliższy sprzętowi. Jest to bardzo korzystne w tych przestrzeniach, w których oprogramowanie musi mieć ścisły związek ze sprzętem, aby efektywnie wykonywać obsługę niskiego poziomu.
Wydajność
C ++ ma standardową bibliotekę szablonów, które mogą być szeroko stosowane podczas kodowania. Biblioteki te zapewniają wydajne algorytmy, które pozwalają programiście zaoszczędzić czas i wysiłek, który w przeciwnym razie zostałby zmarnowany na tworzenie kodu.
Swoboda wyboru stylów programowania
C ++ obsługuje około siedmiu różnych stylów kodowania, co czyni go wielomodelowym językiem programowania. W ten sposób możesz wybrać styl, który pasuje do konkretnego przypadku użycia, bez konieczności używania obiektów.
Umiejętność rozwiązywania złożonych problemów
C ++ może intuicyjnie rozwiązywać złożone problemy, tworząc obiekty. Ponadto funkcje C ++ pozwalają na podzielenie kodu na bloki kodu, które są jasne, łatwe do zrozumienia i łatwe do testowania i modyfikowania.
Możliwość wykrycia błędów przed wykonaniem
C ++ ma typ statyczny, co oznacza, że kompilator nie przyjmuje żadnych założeń co do tego, co pisze programista. Zaletą jest to, że kompilator może wychwycić błędy i awarie przed wykonaniem, co może zaoszczędzić czas na dłuższą metę.
Niedogodności
Stosowanie wskaźników
Wskaźniki są pojęciem stosunkowo trudnym do zrozumienia, a także zajmują dużo pamięci. Niewłaściwe użycie wskaźnika może spowodować zawieszenie się systemu lub nienormalne zachowanie.
Głównym problemem jest sytuacja, gdy dane wskazują to samo z dwóch różnych punktów początkowych, co powoduje poważny problem, generując niejasne problemy w kodowaniu.
Problemy z bezpieczeństwem
Chociaż programowanie zorientowane obiektowo zapewnia duże bezpieczeństwo obsługiwanych danych, nadal występują pewne problemy związane z dostępnością funkcji zaprzyjaźnionych, zmiennych globalnych i wskaźników.
Nie ma śmieciarki
C ++ daje użytkownikowi pełną kontrolę nad zarządzaniem pamięcią komputera. Brakuje funkcji garbage collectora do automatycznego odfiltrowywania niepotrzebnych danych i dlatego nie obsługuje dynamicznej alokacji pamięci.
Brak wątku
C ++ nie obsługuje wbudowanych wątków. Pojęcie wątku jest stosunkowo nowe w C ++, ponieważ pierwotnie nie istniało. Teraz C ++ jest w stanie obsługiwać funkcje lambda.
Skompilowane programy
Jako język kompilacji, pliki wykonywalne utworzone przez kompilator z kodu źródłowego nie są przenośne i będą działać tylko na platformie docelowej (sprzęt plus system operacyjny), dla której zostały skompilowane lub na obsługiwanej platformie binarnej.
Może być złożone
C ++ może być złożony, ponieważ dopuszcza klasy, które są funkcjami o tej samej nazwie. Dlatego należy stosować system obsługi symboli. Ponadto jest to skomplikowane w przypadku bardzo dużego programu wysokiego poziomu. C ++ jest powszechnie używany w aplikacjach specyficznych dla platformy.
Bibliografia
- Simplilearn (2020). Programowanie w C ++ dla początkujących: historia, korzyści i aplikacje. Zaczerpnięte z: simplilearn.com.
- Educba (2020). Zastosowania C ++ w prawdziwym świecie. Zaczerpnięte z: Educba.com.
- Dmitrii Rassokhin (2020). Język programowania C ++ w cheminformatyce i chemii obliczeniowej. Journal of Cheminformatics. Zaczerpnięte z: jcheminf.biomedcentral.com.
- Edureka! (2020). Jakie jest 10 najważniejszych funkcji C ++? Zaczerpnięte z: edureka.co.
- Aman Goel (2020). Język C ++: funkcje, zastosowania, aplikacje i zalety. Włamać się. Zaczerpnięte z: hackr.io.
- Steemit (2020). C ++: Naucz się kodować. Historia, zalety, wady języka C ++. Zaczerpnięte z: steemit.com.
- Data Flair (2019). Naucz się typów danych w C i C ++ z przykładem w zaledwie 4 minuty. Zaczerpnięte z: data-flair.training.