Úgy érted malloc hívások számából mínusz a throw-ok számával lesz kevesebb?
Legalább. De ha egy hibát propagálni kell felfelé, akkor lehet, hogy még több if-fel lesz kevesebb. Viszont, ha a new-t használod, akkor egy olyan if se lesz a programodban, ami az out of mem-et ellenőrizné.
Mi van, ha azt is tudni szeretném az exception-ből, hogy konkrétan melyik malloc hasalt el?
Vagy odateszel egy külön try/catch blokkot, vagy azon a helyen azt a new-t használod, amelyik nothrow-os (ebben az esetben akkor nem spóroltál if-et). Vagy becsomagolhatod a malloc()-t, és adhatsz paramétert a csomagoló fv-nek, ami ezt a paramétert beleteszi az exceptionba (vagy épp másik típusú exceptiont dobsz), így később azt le tudod kérdezni.