If you want to count examples you&#x27;re reasoning about this the wrong way.  The question is what way leads to a higher probability of making a mistake, not the existence of discrete examples.  Considering that one way, Valgrind works out of the box, but with your way, it doesn&#x27;t, I think the answer to that question is quite clear.  Even if there weren&#x27;t tools like that, it is easier to read code and understand pointers&#x27; lifetimes when they&#x27;re being handled individually, instead of having their lifetimes be part of some far-off region.