Nemám zrovna velkou zkušenost s C++ co se týče nějakých větších projektů (jazyk jako takový ovládám myslím celkem solidně).
Pokaždé když jsem ale něco většího dělal, tak jsem poměrně dost částu trávil tím, že jsem přemýšlel, jestli mám vracet hodnotou nebo ukazatel, kdo pak uvolní pameť atd.. V podstatě to vždycky vede na použití shared pointrů, které čítají reference a objekt uvolní, když už na něj žádná reference neexistuje. Nevýhodou shared pointrů je, že se pro to čítání referencí používají atomické instrukce (compare and swap) a ty jsou přece jenom o něco ménně efektivní.
No co tím chcí říct, jestli má cenu vůbec používat C++, pokud tedy nejde o projekt, který opravdu vysloveně potřebuje ze železa vyždímat úplné maximum.
Dlé mého názoru je daleko lepší použití Javy, protože JVM se posouvá dál a dál a čím dál tím víc se výkonnost blíží jazykům, které se překládají přímo do nativních instrukcí procesoru. Samozřejmě ať každý používá co umí a v čem se mu dělá lépa, ale objektivně kdy má cenu volit C++?