title: Excessive use of `this` in C++
body: <p>I'm dealing with a large code base that uses the following construct throughout</p>
  
  <pre><code>class MyClass
  {
  public:
    void f(int x);
  private:
    int x;
  };
  
  
  void MyClass::f(int x)
  {
  '
  '
    this-&gt;x = x;
  '
  '
  }
  </code></pre>
  
  <p>Personally, I'd always used and hence prefer the form</p>
  
  <pre><code>class MyClass
  {
  public:
    void f(int x);
  private:
    int _x;
  };
  
  
  void MyClass::f(int x)
  {
  '
  '
    _x = x;
  '
  '
  }
  </code></pre>
  
  <p>The reasons I prefer the latter are that it is more succinct (less code = fewer potential bugs), and that I don't like having multiple variables of the same name in scope at the same time where I can avoid it.  That said, I am seeing the former usage more and more often these days.  Is there any upside to second approach that I am unaware of? (e.g. effect on compile time, use with templated code, etc...)  Are the advantages of either approach significant enough merit a refactor to the other?  Reason I ask, that while I don't like the second approach present in the code, the amount of effort and associated risk of introducing further bugs don't quite merit a refactor.</p>