Accurate Shooting in Third Person

I am trying to improve the accuracy of shooting in my third person game. I need the answer in C++. I know what I want to do but I am not sure they syntax or function calls to do it.

I want to send a trace straight forward from the center of the camera. Then I what do get the first point where the camera trace hit. I then I want to create a vector from the muzzle location of my gun to the point the camera trace hit. That way the bullet will always go to where the cross hair is.

Can anyone help me out on how to trace from the camera and then get the hit point?

Thanks!