Why returning FVector by copy?

These functions are carefully crafted so that the compiler will eliminate the function’s local return value. There will be no extra copy. The results will go straight into the value being assigned to. This is a compiler optimization called Return Value Optimization (RVO).