Cześć, od jakiegoś czasu uczę się programowania z wykorzystaniem c++ jest to głównie c++11 i stąd mam pytanie. Czy jeśli już się nauczę tego standardu to ile mi zajmie nauka nowych rzeczy z nowych wersji? No i oczywiście czym się różnią te 2 standardy? W końcu ten standard ma już prawie 10 lat. Mam świadomość tego że pytania te nie są zadane odpowiednio dobrze, ale dopiero stawiam swoje pierwsze kroki w programowaniu.

- Rejestracja:ponad 4 lata
- Ostatnio:ponad 4 lata
- Postów:17

- Rejestracja:prawie 6 lat
- Ostatnio:ponad 4 lata
- Postów:14
Dewolf napisał(a):
Cześć, od jakiegoś czasu uczę się programowania z wykorzystaniem c++ jest to głównie c++11 i stąd mam pytanie. Czy jeśli już się nauczę tego standardu to ile mi zajmie nauka nowych rzeczy z nowych wersji? No i oczywiście czym się różnią te 2 standardy? W końcu ten standard ma już prawie 10 lat. Mam świadomość tego że pytania te nie są zadane odpowiednio dobrze, ale dopiero stawiam swoje pierwsze kroki w programowaniu.
Generalnie to po drodze są jeszcze 2 standardy - C++14 i c++17.
Ze standardu na standard dodawane są nowe funkcje języka, elementy biblioteki standardowej, etc., co za tym idzie zmienia się też sposób w jaki piszemy kod (choć nie zawsze). Tam gdzie w C++11 do wygenerowania Fibonacciego w compile time pewnie użylibyśmy tego popularnego "hacku" ze strukturami i templateami, tak od C++17 jedna constexpr funkcja i wszystko z głowy.
https://github.com/AnthonyCalandra/modern-cpp-features tutaj masz fajny cheatsheet takich ważniejszych rzeczy z każdego standardu
(Teraz czekamy na bogów C++'a którzy przyjdą i walną Ci taki fajny artykuł w odpowiedzi i przy okazji zjadą mnie za użycie złej terminologii i w ogóle pisanie głupot)

- Rejestracja:około 8 lat
- Ostatnio:3 minuty
- Postów:4884
A od czego mamy internet?:)
https://duckduckgo.com/?t=ffab&q=new+in+c%2B%2B+20&ia=web




- Rejestracja:ponad 4 lata
- Ostatnio:ponad 4 lata
- Postów:17
Chcę po prostu się dowiedzieć czy c++ się dużo zmienił względem standardu c++11. Wiem że na necie jest wszystko, tylko nigdzie nie znajdę "ile tego jest" tylko znajdę coś co jest nowego lub zmienionego (względem c++17). A chodzi mi właśnie o to jak bardzo c++ się zmienił od c++11. Wiem że trochę woda z mózgu... ale no...

- Rejestracja:około 8 lat
- Ostatnio:3 minuty
- Postów:4884
Chcę po prostu się dowiedzieć czy c++ się dużo zmienił względem standardu c++11. Wiem że na necie jest wszystko, tylko nigdzie nie znajdę "ile tego jest" tylko znajdę coś co jest nowego lub zmienionego >(względem c++17). A chodzi mi właśnie o to jak bardzo c++ się zmienił od c++11. Wiem że trochę woda z mózgu... ale no...
Nic Ci nie poradzę, ogarnięcie tego wymaga wiedzy - nie zamkniesz tematu w wątku na forum.

- Rejestracja:ponad 10 lat
- Ostatnio:prawie 3 lata
- Lokalizacja:Warszawa
@Dewolf, jeśli dobrze rozumiem: nie chodzi Ci o nazwy i liczbę poszczególnych, hm, zmienionych cech języka, tylko o to, "jak bardzo" zmieniają one, hm, "praktykę" programowania względem poprzednich standardów, tak? Inaczej mówiąc, "jak duży wpływ" zmiany od C++11 do C++20 mają na codzienne programowanie? Jeśli dobrze rozumiem, to metryka dość płynna; ale może ktoś, kto się zna, tu zajrzy i odpowie.


- Rejestracja:około 17 lat
- Ostatnio:2 minuty
Różnice między C++11 a C++17 nie są duże.
W kolejnych wersjach constexpr, lambda oraz auto są coraz bardziej uniwersalne i mniej restrykcyjne.
Pojawia się też parę nowych funkcjonaliści biblioteki standardowej.
C++20 to już rewolucja, którą się na razie nie przejmuj. Minie jeszcze parę ładnych lat zanim kompilatory i inne narzędzie będą wspierać to na przyzwoitym poziomie. A projekty komercyjne, które będą to wykorzystywać będą powszechne dużo później.
Masz sporo czasu, żeby opanować C++17.
A co nowego ma C++20, najważniejsze (według mnie):
- moduły - czyli obietnica końca mordęgi z plikami nagłówkowymi.
- koncepty - uprości to pisanie skomplikowanych szablonów, a komunikaty błędów użycia szablonów nie będą miały już "miliona" linii do przeanalizowania
- korutyny - czyli coś jak Pythonowe generatory
- biblioteka ranges oraz fmt
Reszta to kontynuacja udoskonaleń z C++11-17, których przez długi nie będziesz używał.
Zamiast zamartwiać się, że pojawia się nowy standard, skup się na podstawach.
- Rejestracja:ponad 8 lat
- Ostatnio:około miesiąc
- Postów:2284
Najprościej rzecz ujmując, to różnica polega głównie na tym, że w większości przypadków udoskonala się funkcjonalności, które oferowały poprzednie standardy, lub dodaje te z boosta.
Np Smart pointery.
Przed c++11 sam musiałeś dbać o inicjalizacje i zwalnianie pamięci w odpowiednich miejscach, lub napisać własną klase ktora będzie działać w myśl zasady RAII, czyli będzie takim inteligentnym wskaźnikiem.
Po c++ 11 nadal musisz dbać o zarządzanie pamięcią, ale tym razem gotowe rozwiązanie dostarcza standard. Tj Smart pointery.
Itd itd

- Rejestracja:ponad 21 lat
- Ostatnio:dzień
Dewolf napisał(a):
Jakie są różnice pomiędzy c++11, a c++20
to https://en.wikipedia.org/wiki/C++14
plus to https://en.wikipedia.org/wiki/C++17
plus to https://en.wikipedia.org/wiki/C++20

- Rejestracja:ponad 4 lata
- Ostatnio:ponad 4 lata
- Postów:17
MarekR22 napisał(a):
Różnice między C++11 a C++17 nie są duże.
W kolejnych wersjach constexpr, lambda oraz auto są coraz bardziej uniwersalne i mniej restrykcyjne.
Pojawia się też parę nowych funkcjonaliści biblioteki standardowej.C++20 to już rewolucja, którą się na razie nie przejmuj. Minie jeszcze parę ładnych lat zanim kompilatory i inne narzędzie będą wspierać to na przyzwoitym poziomie. A projekty komercyjne, które będą to wykorzystywać będą powszechne dużo później.
Masz sporo czasu, żeby opanować C++17.
A co nowego ma C++20, najważniejsze (według mnie):
- moduły - czyli obietnica końca mordęgi z plikami nagłówkowymi.
- koncepty - uprości to pisanie skomplikowanych szablonów, a komunikaty błędów użycia szablonów nie będą miały już "miliona" linii do przeanalizowania
- korutyny - czyli coś jak Pythonowe generatory
- biblioteka ranges oraz fmt
Reszta to kontumacja udoskonaleń C++11-17, których przez długi nie będziesz używał.
Zamiast zamartwiać się, że pojawia się nowy standard, skup się na podstawach.
O właśnie taką odpowiedź mi chodziło, wielkie dzięki!