I know that "best" is relative and varies with different situations, but why would one choose to implement say a getter by passing in a variable rather than a pointer to a variable. Since passing pointers is generally faster/less overhead, why not just use pointers/references all the time instead of passing variables? I can only see issues if the original variable is deleted, then you'll be left with null pointers, but in the case of class level variables that shouldn't be an issue right?
Example:
int getNum() {return num}
vs
void getNum(int* toGet) {toGet = num}