multiple output function both for BP and other C++ functions ?

Thank you ! But reading many post on this forum I thought that using pointers ( MO(var1, &x, &y) ) was the only way to have blueprint function with multiple output ?
If not , what are the other ways ?
And if it is the only way to have multiple output nodes, how do you use them in C++ functions ?