auto
, default
, delete
, final
, override
constexpr
, noexcept
Czym są lambdy oraz jak ich używać, by wykorzystać pełnię ich potęgi.
Jak używać dostępnych w nowoczesnym C++ funkcjonalności. Zarówno tych prostszych i częściej spotykanych, jak i tych bardziej zaawansowanych, które wywindują Twój kod na wyższy poziom.
Jak w nowoczesnym C++ zmienił się sposób inicjalizacji obiektów, żeby od razu było wiadomo, kiedy zachodzi inicjalizacja. Poznamy listy inicjalizacyjne, sposób inicjalizacji zmiennych niestatycznych w klasie, a także powiemy o tym, jak działają priorytety konstruktorów.
Poznamy "magiczne zaklęcia", które zapewniają jednolitą składnię dla zdefiniowanych w kompilatorach rozszerzeń języka C++.
consteval
, constinit
, constexpr
, czyli jak zagwarantować sobie wykonanie jakiegoś kodu czy obliczeń na etapie kompilacji oraz jak upewnić się, że zmienna na pewno zostanie zainicjalizowana statycznie oraz po co to robić.
auto lambda = [value = 1] { return value; };
std::unique_ptr ptr(new int(10));
auto anotherLambda = [value = std::move(ptr)] { return *value; };
template
class Container {
// ...
public:
// void insert(T item); // inserts a copy of an item (3 copies)
void insert(const T& item); // inserts a copy of an item (2 copies)
void insert(T&& item); // moves item into the container (1 copy)
};
Container c;
std::string str = "text";
c.insert(str); // lvalue -> insert(const std::string&)
// inserts a copy of str, str is used later
c.insert(str + str); // rvalue -> insert(string&&)
// moves temporary into the container
c.insert("text"); // rvalue -> insert(string&&)
// moves temporary into the container
c.insert(std::move(str)); // rvalue -> insert(string&&)
// moves str into the container
// str should not be used here after move
auto multiply(int x, int y) {
return x * y;
}
auto get_name(int id) {
if (id == 1)
return std::string("Gadget");
else if (id == 2)
return std::string("SuperGadget");
return string("Unknown");
}
auto factorial(int n) {
if (n == 1)
return 1;
return factorial(n - 1) * n;
}
using Coordinate = std::pair;
Coordinate origin() {
return Coordinate{0, 0};
}
const auto [ x, y ] = origin();
std::cout << "x: " << x << ", y: " << y;
Krótkie kilkuminutowe lekcje pozwolą Ci skubnąć trochę wiedzy w każdej wolnej chwili
Będzie idealnym sprawdzianem nabytych umiejętności teoretycznych oraz praktycznych
Dzięki nim w praktyce przećwiczysz poznaną teorię
Na Discordzie porozmawiasz z innymi kursantami i z trenerami. Możesz pytać o wszystko związane z C++
Możesz powrócić do szkolenia nawet za kilka lat
Na bieżąco czuwamy nad materiałami. Jeśli coś się zmieni lub nagramy nowe wideo, to dostaniesz je gratis
Błyskawicznie dowiesz się, czy Twoje rozwiązania przechodzą nasze testy. Zawsze też możesz porozmawiać o nich na czacie
Nie ograniczamy się do samego C++. Dowiesz się jak kompilować kod, używać GitHuba lub gita
Jeśli kurs Ci się nie spodoba, to w ciągu 14 dni możesz go zwrócić. Wystarczy jeden email
Kurs podzielony jest na działy. Te będą odblokowywane tydzień po tygodniu, żebyś mógł na spokojnie przerobić i utrwalić materiał z poprzednich działów, zanim zabierzesz się za następny. Jeśli się nie wyrobisz — nic nie szkodzi. Działy nie będą w żaden sposób blokowane.
Interesuje mnie skuteczne nauczanie, w którym masz przerobić kurs i dużo zapamiętać, a nie tylko go kupić, jak jest w przypadku 80% kursów na Udemy (według ich statystyk). Nie ma się on kurzyć na Twojej elektronicznej półce. Programowania nie uczy się oglądając wideo tylko programując. Wprowadzenie takiej blokady na treści spowodowało, że ludzie w końcu zaczęli przerabiać zadania, które zresztą były sprawdzane przez automaty, a nie tylko obejrzeli samo wideo, a po miesiącu okazało się, że nic z tego nie pamiętają. Wiedza lepiej sie utrwala, gdy wracasz do tematu wielokrotnie, a nie przeglądając wszystko na raz.
Zastanawiamy się obecnie nad opcją natychmiastowego dostępu za dodatkową opłatą i jednoczesnym zrzeczeniem się prawa do zwrotu. Jeśli ten aspekt jest dla Ciebie ważny to napisz na hello@coders.school
* Znasz podstawy C++
* Chcesz rozwijać się w C++, ale darmowe materiały w Internecie to dla Ciebie za mało
* Jesteś programistą i chcesz zawalczyć o podwyżkę poprzez podniesienie swoim umiejętności
* Nie wiesz nic o C++ — musisz umieć napisać chociaż prosty kod
* Jesteś uczelnianym specjalistą, którzy zatrzymał się na C++98 i ciągle powtarza, jak to za jego czasów było lepiej
* Znasz podstawy C++
* Chcesz rozwijać się w C++, ale darmowe materiały w Internecie to dla Ciebie za mało
* Jesteś programistą i chcesz zawalczyć o podwyżkę poprzez podniesienie swoim umiejętności
* Nie wiesz nic o C++ — musisz umieć napisać chociaż prosty kod
* Jesteś uczelnianym specjalistą, którzy zatrzymał się na C++98 i ciągle powtarza, jak to za jego czasów było lepiej
Jeśli powyższe nie rozwiewa Twoich wątpliwości, to przetestuj ten kurs. Kup go, a jeśli okaże się, że nie jest on dla Ciebie to zwróć go w ciągu 14 dni po zakupie. Bez żadnych dodatkowych pytań i formalności. Wystarczy jeden email.
W standardowym trybie lekcje są udostępniane w ciągu kilku tygodni i ma to przede wszystkim na celu usystematyzowanie Twojej nauki. Nie masz dostępu do całości materiałów od razu, bo programowania nie uczy się oglądając wideo, tylko programując! Zrób zadania zanim ruszysz dalej.
Interesuje mnie skuteczne nauczanie, w którym masz przerobić kurs i dużo zapamiętać, a nie tylko go kupić, jak jest w przypadku 80% kursów na Udemy (według ich statystyk), zrobić kilka lekcji (bo akurat masz chwilę) i porzucić. Nie ma się on kurzyć, na Twojej elektronicznej półce. Programowania nie nauczysz się przez oglądanie wideo, tylko… programując.
Wprowadzenie takiej blokady na treści spowodowało, że ludzie w końcu zaczęli przerabiać zadania, które zresztą były sprawdzane przez automaty, a nie tylko oglądali same wideo, a po miesiącu okazało się, że nic z tego nie pamiętają. Wiedza lepiej się utrwala, gdy wracasz do tematu wielokrotnie, a nie przeglądając wszystko na raz.
Jeśli masz jakieś wątpliwości, to napisz. Może uda mi się coś wyjaśnić
14-dniowa gwarancja satysfakcji oznacza, że możesz zwrócić kurs z dowolnego powodu, np. aberracji stratosferycznych nad biegunem południowym. Możesz też nie podawać w ogóle powodu. Ale będzie mi miło wiedzieć, czy nie spełnił on oczekiwań, czy to jakaś sytuacja osobista.
Zapisz się na newsletter. Dostaniesz dostęp do kilkunastu darmowych lekcji z różnych kursów.