Ma ktoś jakieś porady dla człowieka, który z C++ zatrzymał się na etapie sprzed C++ 0x11? Tak od lat nic nie pisałem w tym języku. Nic w sumie nie zmusza mnie do rycia sobie bani nowszymi standardami, ale dobrze czasem mieć argument w gównobuzry na irc lub forum. Mam jednak obawy związane z potencjalnym uszkodzeniem niezwykle cennego narządu, jakim jest mózg, jeśli podejdę do tego w nieodpowiedni sposób. Ktoś poleca jakąś sprawdzoną metodę? Jakiś kurs online, książkę, wesołe pigułki?
1. Dokumentacja.
2. Gdy ja uczyłem się C++11 (i dalszych) po prostu wymyślałem sobie problem - jakiś prosty projekt do napisania, w którym rzecz jasna napotykałem pewne problemy. Zerkając na nowości z C++11 stwierdzałem: "Fajne, wykorzystam to u siebie". Dzięki temu nie ryjesz standardu na pamięć, a jednak zapamiętujesz go i uczysz się wykorzystując go w praktyce.
edit:
3. A najlepszy sposób na gównoburzę to nie brać w niej udziału.
Jak chcesz łatwo to weź coś z nowszych wydań na PackPub:
https://www.packtpub.com/category-page/c-plus-plus
Jest też coś co może Ci uszkodzić ww organ:
https://helion.pl/ksiazki/skuteczny-nowoczesny-c-42-sposoby-lepszego-poslugiwania-sie-jezykami-c-11-i-c-14-scott-meyers,e_07we.htm#format/e
J. Grebosz w październiku poprzedniego roku wydał książkę Opus Magnum C++ 11, z dodatkiem C++ 14
https://helion.pl/ksiazki/opus-magnum-c-11-programowanie-w-jezyku-c-komplet-jerzy-grebosz,ocpp11.htm#format/d
https://www.ifj.edu.pl/private/grebosz/Opus_C++11_dodatek_B_C++14.pdf
Tylko Mayers, żadnych Gręboszy jeżeli nie chcesz uszkodzić sobie mózgu przykładami typu auto zgadywanka(int n)
.
A co tu jest do uczenia się? Najważniejsze to zrozumieć r-value reference
oraz move construction
(perfect forwarding też się tu wlicza). Inteligentne wskaźniki, wielowątkowość, lamby, static assert, type traits i kilka innych ficzerów już powinieneś znać z boost'a.
+1 dla Meyersa. Niezła jest też Concurrency in Action: practical multithreading. Nie jest to książka bezpośrednio poświęcona standardowi, ale omawia programowanie wielowątkowe z wykorzystaniem jego mechanizmów.
Aż sobie sprawdziłem, czy można zrobić przeciążenie lambdy.... ...można...
gośćabc napisał(a):
Stroustrup i Meyers
zapomnij o języku polskim
Could you pleasse tell me what this polish sentence menas?
Mały Pomidor napisał(a):
Ma ktoś jakieś porady dla człowieka, który z C++ zatrzymał się na etapie sprzed C++ 0x11?
0x11
to dziesiętnie 17
. Albo pytacz chciał się popisać (nie)znajomością systemu heksadecymalnego i mu nie wyszło, albo odpowiadacie nie na temat (przynajmniej kilka pierwszych postów).
furious programming napisał(a):
Mały Pomidor napisał(a):
Ma ktoś jakieś porady dla człowieka, który z C++ zatrzymał się na etapie sprzed C++ 0x11?
0x11
to dziesiętnie17
. Albo pytacz chciał się popisać (nie)znajomością systemu heksadecymalnego i mu nie wyszło, albo odpowiadacie nie na temat (przynajmniej kilka pierwszych postów).
O C++11 jako tako zahaczyłem, ale dość słabo. Chodziło głównie o C++ 17 i nowsze - https://en.wikipedia.org/wiki/C%2B%2B20 na zapas, bo i tak pewnie proces przyswajania potrwa aż komisji standaryzacyjnej skończą się wesołe pastylki, chyba że mnie coś zmusi do poznania go szybciej. Tematu jeszcze nie tykałem i wolałem się upewnić, że ekipa przy siedemnastce nie odleciała już kompletnie w kierunku narkotycznych wizji porośniętego kurzem i pijącego rtęć z pamięci akustycznych ascety, który pierwsze kroki w programowaniu stawiał, zmuszany przez despotycznych rodziców, jako niemowlę na platformie z inputem w postaci tryliona pstryczków.
Nie jest to sam C++17, ale ten pan często zahacza o nowe standardy i rzuca ciekawostkami: