C++: Różnice pomiędzy wersjami
m (Dodanie MetaData Description) |
m (cleanup bibliografii i rotten links) |
||
(Nie pokazano 9 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
'''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 - 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ł [[C_(język_programowania)|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 [[C_(język_programowania)|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: | |||
W języku tym napisane zostały systemy operacyjne lub ich części: | |||
* Apple OS X | * Apple OS X | ||
* IBM OS/400 | * IBM OS/400 | ||
Linia 43: | Linia 23: | ||
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. | 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. | ||
<google>n</google> | |||
==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) | ||
* błędem jest inicjowanie tablicy typu char przy pomocy stałej łańcuchowej np. <code> char miesiac[3] = " | * błędem jest inicjowanie tablicy typu char przy pomocy stałej łańcuchowej np. <code> char miesiac[3] = "maj"; </code> | ||
* korzystanie z prototypów funkcji jest obowiązkowe | * 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 | * można używać komentarzy rozpoczynających się symbolem //, a kończących wraz z końcem wiersza | ||
Linia 57: | Linia 38: | ||
==Przykładowy prosty program== | ==Przykładowy prosty program== | ||
<code> | <code> | ||
Linia 64: | Linia 44: | ||
Int main () | Int main () | ||
{ | { | ||
cout << "Witaj świecie! | cout << "Witaj świecie!"; | ||
return 0, | return 0, | ||
} | } | ||
Linia 73: | Linia 53: | ||
W kolejnej linii zadeklarowana jest [[funkcja]] <code>main</code>, od której program rozpoczyna swoje [[działanie]]. | W kolejnej linii zadeklarowana jest [[funkcja]] <code>main</code>, od której program rozpoczyna swoje [[działanie]]. | ||
Jeśli program dojdzie do instrukcji <code>return 0</code> i ją wykona oznacza to, że program zakończył się poprawnie. | Jeśli program dojdzie do instrukcji <code>return 0</code> i ją wykona oznacza to, że program zakończył się poprawnie. | ||
{{infobox5|list1={{i5link|a=[[Pascal (język programowania)]]}} — {{i5link|a=[[SmallTalk (język programowania)]]}} — {{i5link|a=[[Python]]}} — {{i5link|a=[[Java]]}} — {{i5link|a=[[Ruby]]}} — {{i5link|a=[[C (język programowania)]]}} — {{i5link|a=[[Cobol]]}} — {{i5link|a=[[COBOL (język programowania)]]}} — {{i5link|a=[[PHP]]}} }} | |||
==Bibliografia== | ==Bibliografia== | ||
<noautolinks> | |||
* Grębosz J. (1999), ''Symfonia C++'', Wydawnictwo Oficyna Kallimach, Kraków | |||
* Meyers S. (1995), ''More effective C++: 35 new ways to improve your programs and designs'' | |||
* Prata S. (2006), ''Język C++. Szkoła programowania'', Helion, Gliwice | |||
* Stroustrup B. (2002), ''Język C++ Wydanie szóste'', Wydawnictwo Naukowo-Techniczne, Warszawa | |||
</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.}} |
Aktualna wersja na dzień 18:15, 7 sty 2024
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.
C++ — artykuły polecane |
Pascal (język programowania) — SmallTalk (język programowania) — Python — Java — Ruby — C (język programowania) — Cobol — COBOL (język programowania) — PHP |
Bibliografia
- Grębosz J. (1999), Symfonia C++, Wydawnictwo Oficyna Kallimach, Kraków
- Meyers S. (1995), More effective C++: 35 new ways to improve your programs and designs
- Prata S. (2006), Język C++. Szkoła programowania, Helion, Gliwice
- Stroustrup B. (2002), Język C++ Wydanie szóste, Wydawnictwo Naukowo-Techniczne, Warszawa
Autor: Jarosław Zembal