Chr*_*mar 3 pointers class c++11 unreal-engine4
我在看一个虚幻的教程时遇到了这行代码:
class UStaticMeshComponent* Pickup;
Run Code Online (Sandbox Code Playgroud)
这是一个转发声明。我学习c++有一段时间了,以前没有遇到过这样的事情。我了解指针和引用,但我从未见过这种格式:类名*。我们正在创建一个指向另一个类的类指针吗?我尝试搜索后跟 * 的类名,但出现的唯一结果是有关数据类型和指针的。
public:
APickUp ();
virtual void BeginPlay () override;
virtual void tick ( float DeltaSeconds );
private:
class UStaticMeshComponent* Pickup;
Run Code Online (Sandbox Code Playgroud)
class UStaticMeshComponent* Pickup;
Run Code Online (Sandbox Code Playgroud)
这声明了类型并声明了类型指针的class UStaticMeshComponent变量。所以上面的代码或多或少相当于:PickupUStaticMeshComponent
class UStaticMeshComponent;
UStaticMeshComponent* Pickup;
Run Code Online (Sandbox Code Playgroud)
因为此时你还没有定义UStaticMeshComponent(只是声明),UStaticMeshComponent被认为是不完整类型。对于不完整的类型,您可以执行一些操作。其中之一是声明指向它们的指针。
| 归档时间: |
|
| 查看次数: |
2745 次 |
| 最近记录: |