title: when to use void* in c++
body: <p>I am trying to wrap my head about a <code>void*</code> and what is appropriate use of it and if there is any potentially abusive use I should know about. (Meaning something cool, not wrong).</p>
  
  <p>I dont understand how and why to use a <code>void*</code>. If I am understanding I would need to cast my current pointer to a <code>void*</code> and then cast back to the original when I wanted to use it...? </p>
  
  <p>Why is this beneficial? Not to make things generic because I need to know what type of <code>void*</code> was passed in to do the cast...</p>
  
  <p>Can anyone help me understand <code>void*</code></p>