@damw Dzięki, to wiele wyjaśnia, bo 20 lat temu większość uniwersyteckich akademików traktowała C++ jako C z klasami (czego "Symfonia C++" była świetlanym przykładem). Od czasu C++11 ten język zmienił się diametralnie (choć ze względu na kompatybilność wsteczną prawie cały "stary" kod będzie działał do dziś, czyt. możesz pisać tak jak się uczyłeś na studiach, ale to jest feature nie bug).
malloc i alloc to funkcje w C i da się tym alokować pamięć, ale się nie powinno! Generalnie w C++ nie będziesz musiał ręcznie alokować pamięci albo w ogóle, albo w minimalnym stopniu (najczęściej z powodu użwania gdzieś API w czystym C).
Podsumowując, to jak uczono na uczelniach C++ wołało wtedy o pomstę do nieba: pokazywano najgorsze możliwe praktyki, a C++11 i późniejsze zupełnie zmieniły sposób pisania w C++.
Sam generalnie preferuję styl mocno przypominający Java Streams. Lambdy wszędzie, wszędzie!
Co nie zmienia faktu, że C++ jest językiem w którym często schodzisz prawie do ziemi z abstrakcją, to nie JS, to ma być szybkie i wydajne.