类指针用法
Class pointer usage
谁能解释这个代码段的指针用法;
b2Body* b = node;
GameActor* myActor = (GameActor*)b->GetUserData();
b2Body* b = node;
声明一个指针b
指向当前指向的任何node
。
GameActor* myActor = (GameActor*)b->GetUserData();
从b
中获取某种指针,并投射它以假装它指向类型为 GameActor
的对象。如果指针确实指向该类型,则myActor
可以访问该对象。否则,所有的地狱都快要崩溃了。
b2Body * b = node;
这将创建一个名为 b.b 的 b2Body 类型的指针,该指针指向对象节点指向的对象节点。
GameActor* myActor = (GameActor*)b->GetUserData();
这将创建一个名为 myActor 的 GameActor 类型的指针。 myActor 指向类 b2Body 的成员函数的结果,称为 GetUserData()。
您可以将第二行拆分为两行,以更清楚地了解正在发生的事情。
auto * data = b->GetUserData();
GameActor * myActor = (GameActor *)data;
相关文章:
- 这个指针在c++中的用法
- 访问提升:shared_ptr 主范围外崩溃,断言失败:px != 0.指针的正确用法是什么?
- 使用指针复制构造函数用法
- 我不知道结构和指针的这种用法
- 向下转换指向成员函数的指针.这是合法用法吗?
- 引用和指向常量的指针的用法是什么
- 基于智能指针的 CRTP 习惯用法的编译问题
- 指向成员非类型模板参数的指针的实际用法
- 类指针用法
- 如何制作具有动态大小的数组?动态数组的一般用法(可能还有指针)
- 指针数组用法
- 智能指针中标量和数组的用法
- ->智能指针中的用法
- 广度优先搜索中的 C++ 迭代器和指针用法
- 在 C++ 函数指针上的用法
- 指针的这些用法有什么区别
- 类和对象中带有new的用法指针
- 带有智能指针的虚拟构造函数习惯用法
- 静态指针的c++用法
- 命名参数习惯用法,使用指向类私有方法的指针