Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- zmiany w C++11 (najwięcej):
- double d1 = 2.3; // zly sposób, bo obcina przecinek w przypadku konwersji
- double d2 {2.3}; // zalecany
- auto i = 1;// to samo co var
- constexpr /* inicjalizowane w czasie kompilacji, zaoszczędzimy czas - całkiem przydatna funkcja jak
- używamy czegoś wiele razy, mi przyspieszyła liczenie Fibonacciego na b. dużych zbiorach */
- static_assert // sprawdzamy na etapie kompilacji http://en.cppreference.com/w/cpp/language/static_assert
- static_assert(4<=sizeof(int), "integers 2 small")
- nullptr // wskaźnik zerowy
- double* pd = nullptr;
- uchrania nas od pobrania z niezainicjaliowanej zmiennej
- nie używać normalnych wskaźników w C++11 - zamiast tego smart pointer
- zamiast Employee* anEmployee = new Employee;
- auto anEmployee = std:make_unique<Employee>();
- template - często pytanie na rozmowach w Sii - i variadic template - dowolna ilość parametrów przez szablon
- string z cudzyslowami w srodku - tzw raw string
- string str = R"(Hello "World"!)";
- jak chcemy jeszcze bardziej skomplikować to dodajemy '-' i '-' (doczytać, chociaż chyba
- komentarz o przydatności ironiczny)
- final - nie dziedziczymy po klasie np. class Super final nie pozwala dziedziczyć
- enum wymaga class, co pozwala uniknąć błędów
- C++14 - mało zmian, najważniejsze:
- auto foo - typ auto do funkcji (chyba o to chodziło)
- template<typename T, typename U> audo add(T t, U u){return t+u;}
- C++17
- ułatwione operacje na plikach (filesystem)
- funkcje matematyczne typu zeta riman, legendre etc.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement