I am working on someone else code in C++, and I found a weird call to a certain function func()
. Here is an example:
if(condition)
func();
else
(*this).func();
What is the difference between func()
and (*this).func()
?
What are the cases where the call to func()
and (*this).func()
will execute different code?
In my case, func()
is not a macro. It is a virtual function in the base class, with an implementation in both base and derived class, and no free func()
. The if
is located in a method in the base class.