Question about parenting vectors or transforms

GameObject forwardHeldGameObject;
void Start ()
{
//Instanciate new empty gameobject here
forwardHeldGameObject.name = “Holder for objects”;
forwardHeldGameObject.transform.position = transform.TransformDirection(Vector3.forward) * 4;
forwardHeldGameObject.transform.parent = this.gameObject.transform;
}

This creates a placeholder game object for me to have objects be “Held” in front of the player,
I am just wondering if there is a way to not have to spawn a game-object in order to hold a spot for my character to hold items.

Can I create a transform or v3 and have it set to (forward * x) and then child it to the character controller and name it?

if you make a Vector3 and just remeber its in locals space the define where you want it so i want it at 5 units infront and 2 units up so i would write

Private Vector3 holdPosition = new Vector3(0,2,5);

the use

  ObjectYouwantToHOld.postion = transform.TransformPoint(holdPosition);

To convert it from local space into world space