I know that technically all three ways below are valid, but is there any logical reason to do it one way or the other? I mean, lots of things in c++ are “technically valid” but that doesn’t make them any less foolish.
int* someFunction(int* input)
{
// code
}
or
int *someFunction(int *input)
{
// code
}
or
int * someFunction(int * input)
{
// code
}
I personally think the third one is annoying, but is there a “correct” way? I am typically more inclined to use the first one (as the second looks more like it’s being used as the dereference operator – which it isn’t)
All are equivalent. Choose the flavor that suits you best. Just be sure whichever you chose, you apply that choice in every case. Where your stars and curly braces go is far less important than putting them in the same place every time.
Personally, I prefer
int* someFunction(int* input);, but who cares?