title: Are there any consequences from using *this to initialise a class?
body: <p>In a small game I'm writing, I have a class <code>Weapon</code> with two constructors, one which takes in some parameters to produce a custom weapon, and one that grabs a default one (the <code>CHAIN_GUN</code>):</p>
  
  <pre><code>Weapon::Weapon (void) {
      // Standard weapon
      *this = getWeapon(CHAIN_GUN);
      return;
  }
  </code></pre>
  
  <hr>
  
  <p><strong>Question</strong>: Are there any negative consequences from using <code>*this</code> and <code>operator=</code> to initialise a class?</p>