假如有一个类A,里面有一个成员函数get(),例如:
class A
{
public:
void get();
}
A a;
那么a.get()表示什么呢?首先给出答案是get(&a),因为在类的底层机制中,成员函数的第一个参数都是一个指向该类数据结构的指针(静态成员函数除外),所以成员函数get()的存在形式为void get(A* this);这也能说明为什么我们在成员函数的定义中总是可以用this来指代调用对象。
本文解析了C++中类的成员函数如何通过隐含的this指针引用调用对象,解释了成员函数的底层实现机制,并举例说明了成员函数调用的实际过程。
1083

被折叠的 条评论
为什么被折叠?



