类指针用法

时间:2014-02-20 18:00:57

标签: c++

任何人都可以解释这段代码的指针用法;

b2Body* b = node;

GameActor* myActor = (GameActor*)b->GetUserData();

2 个答案:

答案 0 :(得分:2)

b2Body* b = node;

声明指针b指向当前指向的node

GameActor* myActor = (GameActor*)b->GetUserData();

b中获取某种指针,然后将其转换为假装它指向GameActor类型的对象。如果指针确实指向该类型,则myActor可以访问该对象。否则,一切都将崩溃。

答案 1 :(得分:1)

b2Body * b = node;

这将创建一个名为b的b2Body类型的指针。 b指向对象节点指向。

GameActor* myActor = (GameActor*)b->GetUserData();

这将创建一个名为myActor的GameActor类型的指针。 myActor指向类b2Body的成员函数的结果,名为GetUserData()。

您可以将第二行拆分为两行,以便更清楚地了解发生了什么。

auto * data = b->GetUserData();
GameActor * myActor = (GameActor *)data;