Biztonság terén a malloc és a new között kevés különbség van (oké, a new legalább típusbiztos). Inkább a shared_ptr-t hoznám, mint előnyt.
... bár arra sokszor nincs szükség, elég lenne unique_ptr, az meg nem másolható, ez néha korlátozó tényező, a move meg C++-ban kicsit nehéz, és nagyon nem biztonságos... és megérkeztünk a Rusthoz. :) Mikor használnál dinamikus memóriát?
- Ha futáskor dől el valaminek a mérete vagy elemszáma: vannak konténerek, az alkalmazásnak nem kell dinamikus memóriát kezelnie.
- Ha az A modul inicializál valamit, de B modul fogja tartalmazni: szintén nem kell, move szemantikás a nyelv.