请考虑以下事项:
class A{
//data members
void foo()
{
bar();//is this possible? or should you say this->bar() note that bar is not static
}
void bar()
{
}
}//end of class A
如何从另一个内部调用成员函数?静态函数如何影响'this'的使用。 应该在对象上调用函数吗?
答案 0 :(得分:6)
Nawaz是正确的:'这'是隐含的。唯一的例外是foo是静态函数,因为在静态函数中没有'this'。在这种情况下,你不能使用bar(),除非bar()也是一个静态函数,你根本不能使用this-> bar()。
答案 1 :(得分:2)
bar();//is this possible? or should you say this->bar()
this
是隐含的。所以它们都是等价的。你可以使用它们中的任何一个。但是我认为,如果仅bar()
就足够了,为什么要使用this->bar()
?
仅在存在歧义时使用this
,否则请使用更简单的一个!