>>>>> "Hyrum K. Wright" <hyrum_wri...@mail.utexas.edu>:
> 2) Return everything by pointer > Pros: can represent the NULL value, potentially less memory overhead > Cons: more complex memory management (caller must delete returned value) Um... why must the caller delete the returned value? I thought you were using refcounting smartpointers? Generally 1 gives a nicer API. But if you have any inheritance and virtual methods going, then 2 is simplest.