C++: Różnice pomiędzy wersjami
m (cleanup bibliografii i rotten links) |
m (Czyszczenie tekstu) |
||
Linia 16: | Linia 16: | ||
'''C++''' jest to język programowania ogólnego przeznaczenia. Daje możliwości programowania strukturalnego i [[Programowanie_obiektowe|obiektowego]]. Wspiera abstrakcję danych i [[programowanie]] uogólnione. Stworzony został przez '''Bjarne Stroustrupa''' a jego pierwsza wersja pojawiła się w roku 1979. | '''C++''' jest to język programowania ogólnego przeznaczenia. Daje możliwości programowania strukturalnego i [[Programowanie_obiektowe|obiektowego]]. Wspiera abstrakcję danych i [[programowanie]] uogólnione. Stworzony został przez '''Bjarne Stroustrupa''' a jego pierwsza wersja pojawiła się w roku 1979. | ||
W roku 1998 powstał oficjalny standard języka C++ "Information Technology | W roku 1998 powstał oficjalny standard języka C++ "Information Technology - Programming Languages - C++” (ISO/IEC 14882) przygotowany przez grupę powołaną przez Międzynarodową Organizację Normalizacyjną (ang. ISO). Standard ten oczywiście zmieniał się wraz z rozwojem języka, obecnie obowiązuje wersja z 2011 roku. | ||
==Historia == | ==Historia== | ||
Bjarne Stroustrup w celu uzyskania doktoratu pisał pracę dyplomową, używał języka Simula, jednak uważał że język ten ma wiele braków. | Bjarne Stroustrup w celu uzyskania doktoratu pisał pracę dyplomową, używał języka Simula, jednak uważał że język ten ma wiele braków. | ||
Gdy rozpoczął pracę w AT&T poznał [[C_(język_programowania)|język C]], który uznał za idealny [[materiał]], który mógł posłużyć za podstawy do rozwoju. | Gdy rozpoczął pracę w AT&T poznał [[C_(język_programowania)|język C]], który uznał za idealny [[materiał]], który mógł posłużyć za podstawy do rozwoju. | ||
Linia 25: | Linia 25: | ||
Podstawowym założeniem przy tworzeniu C++ było wykreowanie języka do programowania systemowego, który integrowałby właściwości obiektowe Simuli 67 z wydajnością języka C. Choć język C++ bazował głównie na tych dwóch językach programowania duży wpływ na jego [[rozwój]] miały także inne m.in. Algol 68, z którego zaczerpnięto przeciążanie operatorów, [[referencje]], oraz możliwość deklaracji zmiennych w dowolnym miejscu, Ada w której doceniono wzorce, wyjątki oraz przestrzenie nazw, a z języków Meta Language i Clu przejęto obsługę wyjątków. | Podstawowym założeniem przy tworzeniu C++ było wykreowanie języka do programowania systemowego, który integrowałby właściwości obiektowe Simuli 67 z wydajnością języka C. Choć język C++ bazował głównie na tych dwóch językach programowania duży wpływ na jego [[rozwój]] miały także inne m.in. Algol 68, z którego zaczerpnięto przeciążanie operatorów, [[referencje]], oraz możliwość deklaracji zmiennych w dowolnym miejscu, Ada w której doceniono wzorce, wyjątki oraz przestrzenie nazw, a z języków Meta Language i Clu przejęto obsługę wyjątków. | ||
<google>text</google> | <google>text</google> | ||
==Zastosowania == | ==Zastosowania== | ||
Język C++ wykorzystywany jest głównie do programowania systemowego w bardzo szerokim zakresie. | Język C++ wykorzystywany jest głównie do programowania systemowego w bardzo szerokim zakresie. | ||
Jego implementacje obejmują urządzenia od najmniejszych mikrokomputerów, aż po sprzęt o ogromnej mocy obliczeniowej | Jego implementacje obejmują urządzenia od najmniejszych mikrokomputerów, aż po sprzęt o ogromnej mocy obliczeniowej - superkomputery. Stosowany jest do tworzenia systemów operacyjnych oraz aplikacji użytkowych dla większości środowisk uruchomieniowych. | ||
W języku tym napisane zostały systemy operacyjne lub ich części: | W języku tym napisane zostały systemy operacyjne lub ich części: | ||
Linia 42: | Linia 41: | ||
==Niektóre różnice między C a C++== | ==Niektóre różnice między C a C++== | ||
W języku C++: | W języku C++: | ||
* nie ma obowiązku deklaracji zmiennych na początku bloku (zaraz po klamrze otwierającej) | * nie ma obowiązku deklaracji zmiennych na początku bloku (zaraz po klamrze otwierającej) | ||
Linia 54: | Linia 52: | ||
==Przykładowy prosty program== | ==Przykładowy prosty program== | ||
<code> | <code> | ||
Linia 78: | Linia 75: | ||
* Stroustrup B.,''Język C++ Wydanie szóste'', Wydawnictwo Naukowo-Techniczne, Warszawa 2002, ISBN: 83-204-2727-4, s. 5-25 | * Stroustrup B.,''Język C++ Wydanie szóste'', Wydawnictwo Naukowo-Techniczne, Warszawa 2002, ISBN: 83-204-2727-4, s. 5-25 | ||
</noautolinks> | </noautolinks> | ||
[[Kategoria:Języki_programowania]] | [[Kategoria:Języki_programowania]] | ||
{{a|Jarosław Zembal}} | {{a|Jarosław Zembal}} | ||
{{#metamaster:description|C++ to obiektowy język programowania z wydajną składnią i wsparciem dla wielu paradygmatów. Dowiedz się o bibliotekach i możliwościach tego popularnego języka.}} | {{#metamaster:description|C++ to obiektowy język programowania z wydajną składnią i wsparciem dla wielu paradygmatów. Dowiedz się o bibliotekach i możliwościach tego popularnego języka.}} |
Wersja z 11:45, 2 lis 2023
C++ |
---|
Polecane artykuły |
C++ jest to język programowania ogólnego przeznaczenia. Daje możliwości programowania strukturalnego i obiektowego. Wspiera abstrakcję danych i programowanie uogólnione. Stworzony został przez Bjarne Stroustrupa a jego pierwsza wersja pojawiła się w roku 1979.
W roku 1998 powstał oficjalny standard języka C++ "Information Technology - Programming Languages - C++” (ISO/IEC 14882) przygotowany przez grupę powołaną przez Międzynarodową Organizację Normalizacyjną (ang. ISO). Standard ten oczywiście zmieniał się wraz z rozwojem języka, obecnie obowiązuje wersja z 2011 roku.
Historia
Bjarne Stroustrup w celu uzyskania doktoratu pisał pracę dyplomową, używał języka Simula, jednak uważał że język ten ma wiele braków. Gdy rozpoczął pracę w AT&T poznał język C, który uznał za idealny materiał, który mógł posłużyć za podstawy do rozwoju. Język ten po przebudowach i wielu usprawnieniach miał dać "wymarzony” przez B. Stroustupa język programowania. Autor określa język C++, że jest on: "nadzbiorem języka C”, ponieważ rozszerza zbiór udogodnień dostarczanych przez język C.
Podstawowym założeniem przy tworzeniu C++ było wykreowanie języka do programowania systemowego, który integrowałby właściwości obiektowe Simuli 67 z wydajnością języka C. Choć język C++ bazował głównie na tych dwóch językach programowania duży wpływ na jego rozwój miały także inne m.in. Algol 68, z którego zaczerpnięto przeciążanie operatorów, referencje, oraz możliwość deklaracji zmiennych w dowolnym miejscu, Ada w której doceniono wzorce, wyjątki oraz przestrzenie nazw, a z języków Meta Language i Clu przejęto obsługę wyjątków.
Zastosowania
Język C++ wykorzystywany jest głównie do programowania systemowego w bardzo szerokim zakresie. Jego implementacje obejmują urządzenia od najmniejszych mikrokomputerów, aż po sprzęt o ogromnej mocy obliczeniowej - superkomputery. Stosowany jest do tworzenia systemów operacyjnych oraz aplikacji użytkowych dla większości środowisk uruchomieniowych.
W języku tym napisane zostały systemy operacyjne lub ich części:
- Apple OS X
- IBM OS/400
- Windows NT, XP, Vista, 7
- Symbian OS
- Haiku OS
Do rozwoju programów język C++ używany jest w największych światowych korporacjach m.in: Adobe, Google, Facebook, Amazon, Ericsson, HP, IBM, Intel.
Niektóre różnice między C a C++
W języku C++:
- nie ma obowiązku deklaracji zmiennych na początku bloku (zaraz po klamrze otwierającej)
- błędem jest inicjowanie tablicy typu char przy pomocy stałej łańcuchowej np.
char miesiac[3] = "maj”;
- korzystanie z prototypów funkcji jest obowiązkowe
- można używać komentarzy rozpoczynających się symbolem //, a kończących wraz z końcem wiersza
- stała typu
char
nie jest już traktowana jako wartość typu int, jak było to w języku C. - po nadaniu etykiety szablonowi struktury lub unii, etykieta może być używana jako nazwa typu
- typ wyliczeniowy podlega większym ograniczeniom niż w języku C
- przypisanie wskaźnikowi innego typu lub wartości liczbowej wymagają jawnego rzutowania
Przykładowy prosty program
#include <iostream>
using namespace std,
Int main ()
{
cout << "Witaj świecie!”;
return 0,
}
Program ten ma na celu wyświetlenie na standardowym urządzeniu wyjściowym
cout
(ang. Console Output) napisu "Witaj świecie!".
Dyrektywa include
załącza bibliotekę pozwalającą na obsługę strumieni wejścia wyjścia (ang. Input/Output Stream)
W drugiej linii kodu, ustawiona zostaje przestrzeń nazw std
W kolejnej linii zadeklarowana jest funkcja main
, od której program rozpoczyna swoje działanie.
Jeśli program dojdzie do instrukcji return 0
i ją wykona oznacza to, że program zakończył się poprawnie.
Bibliografia
- Grębosz J.,Symfonia C++ Wydanie czwarte uzupełnione, Wydawnictwo Oficyna Kallimach, Kraków 1999, ISBN: 83-901689-1-X, s. 6-14
- Meyers, S. (1995). More effective C++: 35 new ways to improve your programs and designs
- Prata S., Język C++. Szkoła programowania. Wydanie V, Wydawnictwo Helion, Gliwice 2006, ISBN: 83-7361-958-5, s. 12-20
- Stroustrup B.,Język C++ Wydanie szóste, Wydawnictwo Naukowo-Techniczne, Warszawa 2002, ISBN: 83-204-2727-4, s. 5-25
Autor: Jarosław Zembal