UE4 class 运算符 bool() 重载
UE4 class Operator bool() overload
当我在这里完成教程时 UE4 Basics
我注意到 CollidingPawn.cpp
if 语句以对象为条件 if (OurMovementComponent && ...){...}
声明并定义为
class UCollidingPawnMovementComponent* OurMovementComponent;
//...
class HOWTO_COMPONENTS_API UCollidingPawnMovementComponent : public UPawnMovementComponent
{/* ... */};
我认为 class 有一个重载的 () 运算符,然后我追溯到它的所有 parents,但我找不到一个,所以我想知道 [=13 是什么=] 语句在这里检查,以及它是如何定义的。
OurMovementComponent
定义为指针。所有指针都可以在条件语句中进行测试,无论它们的指针类型是否重载 operator bool
。
就指向它们的指针而言,基本类型和 class 类型没有区别。
if 语句检查指针是否为空,可能在访问它应该指向的对象之前,以避免未定义的行为。
当我在这里完成教程时 UE4 Basics 我注意到 CollidingPawn.cpp
if 语句以对象为条件 if (OurMovementComponent && ...){...}
声明并定义为
class UCollidingPawnMovementComponent* OurMovementComponent;
//...
class HOWTO_COMPONENTS_API UCollidingPawnMovementComponent : public UPawnMovementComponent
{/* ... */};
我认为 class 有一个重载的 () 运算符,然后我追溯到它的所有 parents,但我找不到一个,所以我想知道 [=13 是什么=] 语句在这里检查,以及它是如何定义的。
OurMovementComponent
定义为指针。所有指针都可以在条件语句中进行测试,无论它们的指针类型是否重载 operator bool
。
就指向它们的指针而言,基本类型和 class 类型没有区别。
if 语句检查指针是否为空,可能在访问它应该指向的对象之前,以避免未定义的行为。