Объясню, почему я так делаю...
Код:
Код
class ClassA
{
public:
void Set(uint8_t some_var)
{
//some actions
}
}
class ClassB
{
public:
void Set(uint8_t some_var)
{
//some actions
}
void BlaBlaBla(*ClassA var, uint8_t some_var)
{
if (/*something*/)
{
var->Set(some_var);
this->Set(some_var);//вот тут правильнее в целом смотрится именно this, а не "Set(some_var);"
}
}
}
Так же если в методе я буду всё-таки вынужден использовать this для доступа к членам текущего класса, то комбинация
Код
void SomeFunction(void)
{
//some code
}
class SomeClass
{
void SomeFunction(void)
{
//some another code
}
void SomemethodA(void)
{
}
void SomemethodB(void)
{
}
void SomemethodC(void)
{
this->SomeFunction();
SomemethodA();
SomemethodB();
SomeFunction();//чё происходит?
}
}
выглядит не очень. Как-то не читаемо, т.к. оно означает что где-то (НАВЕРНОЕ) есть функция с таким же названием, но это не точно.
Такая ситуация может возникнуть, если оспользуешь какие-нить сишные либы, к примеру (мне неизвестные), и имя твоего метода ВНЕЗАПНО совпало с именем... ну вы поняли...
ИМХО чем использовать ИНОГДА this (что я и делал сначала), я принял волевое xD решение использовать его ВСЕГДА - именно для повышения удобочитаемости кода.
Сообщение отредактировал tabr - May 14 2018, 10:08