因爲PC、XBOX、PS4等各平臺的C++基礎類型大小可能不一樣(實際上絕大部分都是整型類型的大小不一樣),所以UE4提供了以下可移植基礎類型的別名來統一規範類型大小:函數
我的認爲,若是想更簡單明瞭地選擇類型的話,那麼建議在類/結構體的聲明部分(變量/函數返回值/函數參數等)使用可移植類型,而函數實現裏出現的某些可有可無的臨時變量(例如循環體的整型變量i)則能夠直接使用C++基礎類型。工具
UCLASS() class MYPROJECT_API USomething: public UObject{ UPROPERTY() int32 ID; UFUNCTION() uint32 GetValue(); }; uint32 USomething::GetValue(){ uint32 value = 0; for(int i = 0; i < vec.size(); ++i){ value += vec[i]; } return value; }
命名(如類型或變量)中的每一個單詞需大寫首字母,單詞間一般無下劃線。ui
例如:Health 和 UPrimitiveComponent,而非 lastMouseCoordinates 或 delta_coordinates。編碼
bool變量必須以b爲前綴(例如 bPendingDestruction 或 bHasFadedIn)。指針
類型名前綴需使用額外的大寫字母,用於區分其和變量命名。code
例如:FSkin 爲類型名,而 Skin 則是 FSkin 的實例。htm
類型命名前綴規範以下:blog
藍圖類別 | 前綴 |
---|---|
繼承自 UObject | U |
繼承自 AActor | A |
繼承自 SWidget | S |
抽象界面類的前綴 | I |
枚舉類的前綴 | E |
模板類 | T |
其餘多數類均以F爲前綴,而部分子系統則以其餘字母爲前綴。繼承
模板實例化的Typedef再也不是模板,並應加上相應前綴,例如:typedef TArray<FMytype> FArrayOfMyTypes;
藍圖命名:"BP"+類別縮寫+"_"+名字
例如: BPA_Player
藍圖類別 | 前綴 |
---|---|
藍圖Actor | BPA_ |
藍圖結構 | BPS_ |
藍圖枚舉 | BPE_ |
藍圖接口 | BPI_ |
藍圖函數庫 | BFL_ |
藍圖宏庫 | BML_ |
"Hello World!"; //Not so well TEXT("Hello World!"); //OK
系列其餘文章:Aery的UE4 C++開發之旅系列文章