Nie ma i to jest największy ból tego języka imo. Nie wiadomo jak pisać a potem co projekt/rekrutacja to każdy ma inną wizję tego jakie są dobre praktyki i jak powinien kod wyglądać.
Takiej książki/dokumnetacji nie ma i chyba istnieć nie może. Tzw. "dobre praktyki" na ogół są takie same niezależnie od języka programowania. Mogę napisać taki sam program w C++, potem w C#, potem w Java. Oczywiście będą pewne różnice w implementacji, ale ogólne zasady tworzenia programowania obiektowego będą takie same. A takie rzeczy, że np. w wersji C++14 dodano wskaźniki unique_ptr
,shared_ptr
,weak_ptr
mające zastąpić new
/delete
, to jest bardziej naturalna kolej rzeczy. Wskaźniki znacznie zmniejszają możliwość niechcianej manipulacji na pamięci.
Język programowania i kompilator to jest tylko narzędzie i nie ma "jedynego słusznego" sposobu użytkowania. Każdy używa tak, jak lubi. Np. są różne style nazywania zmiennych (jakasNazwa
, JakasNazwa
, jakas_nazwa
itp.) i wcięć, np znak {
w nowej linii lub na końcu poprzedzającej, jest kilka sposobów i żaden nie jest lepszy, ani gorszy, tylko inny.
Jakie IDE jest teraz na topie (macOS/Linux)? Nie mówcie że stary Eclipse...
Nie wiem, czy "na topie", ale ja używam Qt Creator, może nie najlepszy, ale darmowy, prosty i łatwy do ustawienia IDE, bez konfiguracji z CMake/QMake. A jeżeli szukasz tak naprawdę notatnika z kolorowaniem składni, to Visual Studio Code, który jest darmowy (nie mylić z Visual Studio, bez słowa "code").
Że czysty C++ MZ nie istnieje, a realny program posiadający interfejs użytkownika to zawsze ciągnie jakiś DIALEKT C++
Bardziej biblioteki zewnętrzne. W czystym C++ tworzy się logikę biznesową i aplikacje konsolowe mające tylko strumień wejścia i wyjścia. A jak ma korzystać z okienek (Qt, GTL) lub z JavaScript w WASM, to zawsze jest podłączona biblioteka.
Jak już o WASM mowa, a OP "zatrzymał się" na C++11, to pragnę wspomnieć, że w międzyczasie C++ zyskało jeszcze jedno, całkowicie nowe zastosowanie, czyli WebAssembly:
https://emscripten.org/index.html
https://labs.leaningtech.com/cheerp
Tu trzeba umieć też HTML i JavaScript (wystarczy podstawy), ale raz kompilując program, można uruchomić "na wszystkim", co ma nowoczesną przeglądarkę internetową. Do tego nie ma pełnego IDE, jest tylko kompilator uruchamiany z linii poleceń, ale w połączeniu z jakimś notatnikiem kolorującym składnie lub jakimś IDE użytym w roli pisania i sprawdzania poprawności kodu, da radę.