私はUE4開発のためのいくつかの出発のコースをやっている、と私はUE4でC++の使用に関する質問がありました。C++ Unrealの4 - ポインタ構文
私は基本的な位置の記者を作成するチュートリアルをしています。
以下は、GetOwner()
のピーク定義です。
FORCEINLINE_DEBUGGABLE class AActor* UActorComponent::GetOwner() const
{
// During undo/redo the cached owner is unreliable so just used GetTypedOuter
if (bCanUseCachedOwner)
{
checkSlow(OwnerPrivate == GetTypedOuter<AActor>()); // verify cached value is correct
return OwnerPrivate;
}
else
{
return GetTypedOuter<AActor>();
}
誰かが次の行が正確に何をしているのか教えてください。
はAActorのメモリアドレスをつかんclass AActor*
ですか?それともポインタを作成していますか?
は、私はちょうどこのセクションの周りに私の心を包む問題を抱えて、(、間接参照することができます何かのメモリアドレスへのポインタポイント)ポインタの基本を知っています。
FORCEINLINE_DEBUGGABLE class AActor* UActorComponent::GetOwner() const
私はそのようなUObjectBaseのように、UE4のソースコードのさまざまな部分にこれらの多くを見ているので、私はこれらのすべてを把握しようとしています。デバッグマクロをスキップ
UObjectBase::UObjectBase(UClass* InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName)
: ObjectFlags (InFlags)
, InternalIndex (INDEX_NONE)
, ClassPrivate (InClass)
, OuterPrivate (InOuter)
{
check(ClassPrivate);
// Add to global table.
AddObject(InName, InInternalFlags);
}
それだけでは、戻り値の定義です。この関数は 'AActor'型のオブジェクトへのポインタを返します –