C++

Z Encyklopedia Zarządzania

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)PythonJavaRubyC (język programowania)CobolCOBOL (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