|
Nowe cechy języka C++ (względem języka ANSI C) Niektóre z nich trafiły do języka C, najpierw nieoficjalnie, później zaś zostały ustandaryzowane w C99, IEC14882:1998, IEC14882:2003. Aktualne wypracowywany jest nowy standard, ktory opisano w roboczym dokumencie [3] Klasy wraz z innymi elementami języków zorientowanych obiektowo takimi jak: dziedziczenie, metody wirtualne Dodatkowe ulepszenia klas, konstruktory, destruktory (język C++ był pierwszym językiem w którym użyto nazwy "konstruktor" w tym właśnie znaczeniu i pierwszym językiem, który posiadał destruktory) Szablony (wzorce) klas i funkcji Obsługa wyjątków Deklaracje zmiennych jako instrukcje (w ANSI C wszystkie zmienne lokalne funkcji musiały być zadeklarowane przed pierwszą jej instrukcją) Dynamiczna inicjalizacja zmiennych globalnych i lokalnych zmiennych statycznych (tzn. mogły być inicjalizowane wynikiem wywołanej funkcji) Przestrzenie nazw Referencje Operatory new i delete Operator zasięgu (::) (w ANSI C nie istnieje możliwość odwołania się do zmiennej globalnej o tej samej nazwie, co zmienna lokalna) Dynamiczna kontrola typów RTTI Przeładowanie funkcji Przeładowanie operatorów Wskaźniki do składowych (pól i metod) Funkcje rozwijalne (inline) (również C99) Nowy typ bool i stałe true i false (również C99, z tym że w C++ są to słowa kluczowe) "Szeroki" typ znakowy, wchar_t (również C89) wraz ze wszystkimi zależnościami (wiostream i reszta, nagłówek <wctype>, wstring) Operatory rzutowania: static_cast, dynamic_cast, reinterpret_cast i const_cast Pojemniki (w postaci szablonów klas, np.: vector, map, list) oraz zestaw podstawowych algorytmów (w postaci szablonów funkcji, np.: sort, find, for_each) Koncepty
|