c++ - 'this' 指针是什么?

标签 c++ class pointers this

我是 C++ 的新手,我不明白 this 指针在以下场景中的作用:

void do_something_to_a_foo(Foo *foo_instance);


void Foo::DoSomething()
{
  do_something_to_a_foo(this);
}

我是从其他人的帖子中获取的。

this 指向什么?我很困惑。该函数没有输入,那么 this 在做什么?

最佳答案

this引用当前对象。

关键字this标识一种特殊类型的指针。假设您创建了一个名为 x 的对象。的 class A , 和 class A有一个非静态成员函数 f() .如果调用函数 x.f() ,关键字thisf() 的正文中存储x的地址.

关于c++ - 'this' 指针是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16492736/

相关文章:

c++ - 我如何在我的矩阵类中获得此功能?

C++按升序对指针数组进行排序

java - 具有多个线程的Java中的对象指针

c++ - c++ 中是否有任何免费的 ITERATIVE 线性系统求解器允许我输入任意初始猜测?

c++ - 在父类中使用 protected 数据,传递给子类

c++ - "type"可以在 C++ 中传递吗?

java - 尝试在 java 中调用函数,提示 ".class expected"。

c++ - 指向 void* 的类指针

c++ - 当 JSON 中存在非法字符时,如何防止 JSON 解析器崩溃?

c++ - 迭代 vector 对并使用 std::copy 打印结果