مرحبًا، أنا أعمل في محرك غير واقعي 5 في لغة c++ وأعمل مع عامل التشغيل \* لفهم المؤشرات والوصول إليها. في هذا الكود أقوم باستدعاء مكون القراد:
``` AActor\* Owner = GetOwner();
 // ابحث عن هذا العنوان واتصل بطريقة GANOL الخاصة به
 //FString Name = (\*Owner).GetActorNameOrLabel();
 // كما هو مذكور أعلاه، وكذلك أدناه (asb)
 FString Name = Owner->GetActorNameOrLabel();
 FVector Location = Owner->GetActorLocation();
 FString SLocation = Location.ToCompactString();
 // وبالتالي: إذا كان المؤشر، استخدم السهم، إذا كان الهيكل/المنشئ، استخدم طريقة النقطة
 UE\_LOG(LogTemp, Display, TEXT("مالك المحرك: %s، والموقع: %s"), \*Name,\*SLocation);
```
يتم تخزين متغير "الاسم" بعد الوصول إلى المؤشر المخزن في "المالك" باستخدام عامل التشغيل ->. وبالتالي، يصل المؤشر إلى الذاكرة التي تحتوي على اسم الممثل، والذي أفترض أنه تم تخزينه كسلسلة. لماذا نستخدم عامل التشغيل \* مثل '\*Name' في وظيفة UE\_LOG، إذا كان من المفترض أن يحتوي المتغير 'Name' على سلسلة وليس مؤشرًا. أم أنني مخطئ في فهمي في مكان ما؟
{"source": "ewof/sharegpt-instruct-unfiltered-deduped", "kind": "human", "evolved_from": null}