3.瞧,這就是UE4 C++


  1.虛幻中的類前綴你會見到U,A,F,以下就是很好的羅列其中的意義

  •  U: UObject繼承過來的,例如UTexture
  •    A: AActor繼承過來的,例如AGameMode
  •    F: 其他的類和結構,例如FName, FVector
  •    T:模板,例如TArray,TMap,TQueue
  •    I: 接口類,ITransaction
  •    E:枚舉, ESelectionMode
  •  B: Boolean, bEnabled

  2.區分大小寫!

  用宏定義來包裹C++代碼

  UCLASS 來包裹類

  USTRUCT 包裹結構

  UFUNCTION 包裹功能

  UPROPERTY 包裹屬性

  這是例子 

USTRUCT()

  struct FVector2D

  {

    UPROPERTY()

    float X;

    UPROPERTY()

    float Y;

    UFUNCTION()

    float GetLength() const;
  };

  3.虛幻主義者

  UE4代碼中使用自己的基礎類型,不適用C++中的(char,short,int,long等)

  ①取而代之的是:int32,uint32,uint64,TCHAR,ANSICHAR等  

  數值類型在NumericLimits.h中聲明,可以詳細閱讀查詢

  

  ②一般的結構數據類型有

  FBox,FColor,FGuid,FVariant,FVector,TBigInt,TRange  

 

  ③容器

  TArray,TSparseArray-動態數組

  TLinkedList,TDoubleLinkedList

  TMap-鍵值對哈希表

  TQueue-隊列

  TSet-非有序集

  

  ④代理:這一部分中文更加拗口沒有翻譯的意義,實際使用的時候我會再解釋

  Unicast and multicast delegates

  thread-safe variants

 

  ⑤智能指針

  TSharedPtr,TSharedRef-一般傳統的C++對象

  TWeakPtr-一般傳統的C++對象

  TWeakObjPtr-UObject

  TAutoPtr,TScopedPtr

  TUniquePtr

  原諒我偷懶直接復制,用了才知道怎么回事

  Similar to boost:: & std:: implementations
  Also thread-safe variants

  ⑥String 類型

  FString- 通常的String

  FText- 本地化,在Slate UI中常使用

  FName-在UObject中常使用的,String哈希.FName是大小寫敏感的

  

  ⑦String文字

  TEXT()- 創建一個通用的String類型,TEXT("Hello");

  LOCTEXT()-創建一個本地化文字,LOCTEXT("Namespace","Name","Hello");

  NSLOCTEXT()-在一個域名空間內的本地化,NSLOCTEXT("Name","Hello");

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM