In general should a C/C++ function that takes output parameters only write to them at the end of the function? A function actively using output parameters could cause false