UE C 值得注意的坑

2021-10-20 02:55:14 字數 512 閱讀 7896

申明了forceinline關鍵字的內聯函式,不能和void一起使用。不然就會報錯。

虛幻引擎中,基本資料型別包括,uint8、uint16、uint32、uint64、int8、 int16、int32、int64、float。但是在藍圖中只支援uint8和int32。其他型別在c++中是支援的,但是如果你一但你將這些變數暴露給藍圖,編輯就會報錯。

類中uproperty() 不支援常量。

類中不支援static const 型別的初始化。

ufunction()修飾的反射函式的形式引數要求全部是uclass、ustruct或者uenum。

在類的成員變數初始化列表中,初始化的順序應該按照類中成員從上到下的順序初始化,否則將收到編譯器的警告。

createdefaultsubobject只能寫在類的無參建構函式中,否則崩潰。

setupattachment只能寫在建構函式中,否則崩潰。

最好每個變數都宣告uproperty(),否則變數將不會進行自動記憶體管理,變數的生命週期將不可控。

值得注意的函式

函式 嚴重性 解決方案 gets 最危險 使用 fgets buf,size,stdin 這幾乎總是乙個大問題!strcpy 很危險 改為使用 strncpy。strcat 很危險 改為使用 strncat。sprintf 很危險 改為使用 snprintf,或者使用精度說明符。scanf 很危險 ...

防範sql注入值得注意地方

sql注入是大家基本都清楚,一般來說用引數化就能解決注入的問題,也是最好的解決方式。有次技術群裡問到乙個問題,如下圖 很顯然tablename是外部傳遞過來的,暫時不考慮具體的業務環境,但如果以select from table 把錶名稱當引數肯定是不能執行的,如果是拼接sql會有注入的危險。那麼此...

1017 A除以B(值得注意)

本題要求計算 a b,其中 a 是不超過 1000 位的正整數,b 是 1 位正整數。你需要輸出商數 q 和餘數 r,使得 a b q r 成立。輸入格式 輸入在一行中依次給出 a 和 b,中間以 1 空格分隔。輸出格式 在一行中依次輸出 q 和 r,中間以 1 空格分隔。輸入樣例 12345678...