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