Odcinek

Bjarne Stroustrup — istota języka C++: Przykłady w języku C++84, C++98, C++11 i C++14

with Bjarne Stroustrup

Wdrażany jest język C++11, a kształt języka C++14 staje się jasny. Ta rozmowa analizuje podstawy języka C++. Co to jest istotne? Co odróżnia język C++ od innych języków? Jak nowe i stare funkcje obsługują (lub odwracają uwagę od) projektowania i programowania polegają na tej istocie?

Skupiam się na mechanizmach abstrakcji (w przeciwieństwie do mapowania na maszynę): klasy i szablony. Zasadniczo, jeśli rozumiesz wektor, rozumiesz język C++.

Bezpieczeństwo typów i bezpieczeństwo zasobów są kluczowymi celami projektowymi dla programu. Cele te muszą być spełnione bez ograniczania zakresu zastosowań i bez nakładania znaczących obciążeń w czasie wykonywania lub narzucenia przestrzeni. Mam problemy z zarządzaniem zasobami (odzyskiwanie pamięci nie jest idealną odpowiedzią i wskaźniki nie powinny być używane jako uchwyty zasobów), programowanie ogólne (musimy ułatwić i bezpieczniejsze), obliczenia w czasie kompilacji (jak i kiedy?) i bezpieczeństwo typu (rzuty należą do interfejsu sprzętowego najniższego poziomu). Dotknę semantyki przenoszenia, wyjątków, pojęć, aliasów typów i nie tylko. Moim celem nie jest przedstawienie nowatorskich funkcji i technik, ale poznanie sposobu, w jaki zestaw funkcji języka C++obsługuje nowy i bardziej skuteczny styl projektowania i programowania.