How to Normalize a Vector in c++

Coming from Blueprints, I’m trying to Normalize a Vector.

Based on Google, it seems like the way to do it is to check SafeNormal and then Normalize. However, I’m unsure how they are specifically stored since the two functions return a bool. Is the normalize a void function itself?

bool UTest::Normalize(FVector Input, float Tolerance, FVector &Output) { 
if (Input.GetSafeNormal(Tolerance))
{
bool Result = Input.Normalize(Tolerance);
}
Output = Input;
return Result;
}

Would this work? The question more importantly that I’d have would be is the Normalized Vector now Stored in Temp? What does tolerance really mean in terms of how Units reflect on the result?

Input.GetSafeNormal(Tolerance);
Input.Normalize(Tolerance);
Output = Input;

This worked.

I used this inside Blueprints and compared with the standard Normalize provided by KismetMathLibrary. With Tolerance of 1.0, the equal operation returns true even when comparing them with a 100th unit as a tolerance.