Чрезмерное использование `this` в C ++ [дубликат]

На этот вопрос уже есть ответ:

Когда я должен явно использовать указатель `this`? 13 ответов

Я имею дело с большой кодовой базой, которая использует следующую конструкцию

<code>class MyClass
{
public:
  void f(int x);
private:
  int x;
};


void MyClass::f(int x)
{
'
'
  this->x = x;
'
'
}
</code>

Лично я всегда использовал и поэтому предпочел бы форму

<code>class MyClass
{
public:
  void f(int x);
private:
  int _x;
};


void MyClass::f(int x)
{
'
'
  _x = x;
'
'
}
</code>

Причины, по которым я предпочитаю последнее, заключаются в том, что он более лаконичен (меньше кода = меньше потенциальных ошибок) и что мне не нравится иметь в области действия одновременно несколько переменных с одним и тем же именем, где я могу избежать этого. Тем не менее, в последнее время я все чаще вижу бывшее использование. Есть ли какой-то плюс ко второму подходу, о котором я не знаю? (например, влияние на время компиляции, использование с шаблонным кодом и т. д.). Являются ли преимущества одного из подходов достаточно значительными для рефакторинга другого? Причина, по которой я спрашиваю, заключается в том, что хотя мне не нравится второй подход, представленный в коде, объем усилий и связанный с этим риск появления дальнейших ошибок не вполне заслуживают рефакторинга.

Ответы на вопрос(15)

Ваш ответ на вопрос