code:which is very reasonable indirection when you have three or four different Things, and ten or so pointers. It's not quite so reasonable when you're only doing one Thing. In fact, it's totally pointless and confusing!OurStorageClass* pointerForThisFunction;
if (doingOneThing)
pointerForThisFunction = &storageForOneThing;
else
pointerForThisFunction = &storageForOtherThing;
(...)
pointerForThisFunction->doStorageThings(someData);