Toda função de membro do c ++ considera `this` como uma entrada implicitamente?
Quando criamos uma função de membro para uma classe em c ++, ela possui um argumento extra implícito que é um ponteiro para o objeto de chamada - referido comothis
.
Isso é verdade para qualquer função, mesmo que não usethis
ponteiro. Por exemplo, dada a classe
class foo
{
private:
int bar;
public:
int get_one()
{
return 1; // Not using `this`
}
int get_bar()
{
return this->bar; // Using `this`
}
}
Ambas as funções (get_one
eget_bar
) tomathis
como um parâmetro implícito, mesmo que apenas um deles realmente o use?
Parece um desperdício fazê-lo.
Nota: Eu entendo que a coisa certa a fazer seria fazerget_one()
estático e que a resposta possa depender da implementação, mas estou curioso.