UE4/C++: TArray å¤ã®æªè«ð AllocatorInstance ã nullptr ã®å·»
æªç°
âãã£ããã¼ãªç»åã¨ããäºã§ã¯ãªãã¦ãå®éã«ããããäºãããã£ãããã§èµ·ããã®ã§æ°ãã¤ããããã¨ããæªè«ã§ãð
åé ã®ã¹ã¯ãªã¼ã³ã·ã§ãã㯠UE4 ã® Array.h ï¼ TArray
ï¼ã® ResizeTo
ã¡ã³ãã¼é¢æ°ãå¼ã°ããéã« AllocatorInstance
ã¡ã³ãã¼ã nullptr
ã®ããã«å®è¡æã«ã¢ã¯ã»ã¹éåãèµ·ããã¢ããªãæ»ã¬ç¬éã®ãã®ã§ãã ResizeTo
㯠Init
ãªã©ããå
é¨çã«å¼ã°ãã¾ãã
åå
ãã®ç¾è±¡ã¯ TArray
ãã¡ã³ãã¼å¤æ°ã¨ãã¦æã¤ã¦ã¼ã¶ã¼å®ç¾©åã® UCLASS
ã«ããã¦ã UPROPERTY
ã宣è¨ã«ä»ä¸ããªãäºã§çºçãå¾ãå®è£
ã¨ãªãã¾ãã
// æªç°ãã¿ã¼ã³ UCLASS() class UMyAwesomeComponent: USceneComponent { GENERATED_BODY() // ... TArray< int32 > array_without_property_marking; // <-- OOPS! // ... };
ãçºçãã¾ããã¨æè¨ã§ããªãçç±ã¯ã UE4
ã®ã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã«èµ·å ãã¾ãã UCLASS
ã®ã¡ã³ãã¼å¤æ°ã§ UPROPERTY
ã®ä»ããã¡ã³ãã¼å¤æ°ã¯ UE4 ã®ã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã®ã管ç対象ãã¨ãã¦ãæ£å¸¸ãã«æ±ããã¾ãã UPROPERTY
ãä»ããªã㨠UE4 ã®ã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã¯ UCLASS
ã®ã¡ã³ãã¼å¤æ°ã¨ãã¦ã®ã¬ãã¼ã¸æ§ï¼ãªãã¸ã§ã¯ããã´ãã¨ãã¦ååãã¦ãããï¼ãèæ
®ããªããªããã¡ã³ãã¼å¤æ°ãæã¤ã¯ã©ã¹ã¯çãã¦ãã¦ç¾å½¹ã§ä½¿ç¨ä¸ãªã®ã«ãã¡ã³ãã¼å¤æ°ã UE4 ã®ã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã«ååããã¦æ´å°ï¼ nullptr
ï¼ã«ãªãã¨ããäºãèµ·ããå¾ãããã«ãªãã¾ãããã® UE4 ã® UPROPERTY
ã«ããã¬ãã¼ã¸ã³ã¬ã¯ã·ã§ã³ã®ä»çµã¿ã¯ UPROPERTY
ãç´æ¥ä»ãããããªãã¸ã§ã¯ãã«çã¾ããããã®ãªãã¸ã§ã¯ãã®å
é¨ã«ãåã³ã¾ãï¼ä¾ãã° UCLASS
㪠UMyComponent* c
ãå¥ã®ã©ããã® AMyActor* a
ã UPROPERTY
ã§ã¡ã³ãã¼ã«æã¤å ´åã c
ãªãã¸ã§ã¯ããã®ãã®ã ãã§ãªãã c
ãã¡ã³ãã¼å¤æ°ã¨ãã¦æ㤠UPROPERTY
ä»ãã®ã¡ã³ãã¼å¤æ°ç¾¤ã a
ã®ã¬ãã¼ã¸æ§ããä¿æã»ååãå¤æãããããã«ãªãã¾ã ï¼ã
ã¨ãè¨ãããã§ããã®åé¡ï¼ãã°ï¼ãåãè¾¼ãã§ãã¾ã£ãã¯ã©ã¹ããããã«åçã«çæãããããæ¯è¼ççå½ã ã£ãããçæç´å¾ã«ã¯ç¶ç¨ä½¿ããªããæ«ããã¦ããåãåºãããæ¶ããããããããªä½ãã ã£ãå ´åããããããããããã¾ã«è½ã¡ããã¨ããããã°ã©ãã³ã°çéã®ä»£è¡¨çãªæªè«ãçºçãå¾ãç¶æ³ã«ãªãã¾ãã
// è¯å¥½ãã¿ã¼ã³ UCLASS() class UMyAwesomeComponent: USceneComponent { GENERATED_BODY() // ... UPROPERTY() TArray< int32 > array_with_property_marking; // <-- GOOD! // ... };
ããã
UE4ã®TArrayæã話ãããä»å¤æé«ã«å·ããæªè«ã®æ§åãåçã«åãããã¨ã«æåãã¾ããð pic.twitter.com/nyQWQNInDk
— ãã¹å³ï¼ãã¹ã»ã¦ã§ã¤ï¼ããã // Usagi Ito (@USAGI_WRP) July 5, 2018
TArray ãªãã¸ã§ã¯ããã®ãã®ã¯çãã¦ããã®ã§ã¾ãã«æªè«ð åå ã¯ãå¯ãã UPROPERTY 㨠GC ã¨ããããã ãã®ãã¨ãã¨ããã¨ããããããã¡ãªæªè«ã®è½ã¡ã£ã½ãã¦æªè«ð
— ãã¹å³ï¼ãã¹ã»ã¦ã§ã¤ï¼ããã // Usagi Ito (@USAGI_WRP) July 5, 2018
ãããã¾ã NewObject ãããåã§ãããã¦ãçå½ã ãã©ãã¾ã«ä¼ç ãã¤ã¤é·çããã¦ççºããåã§ã»ã»ã»((((;ï¾Ðï¾))))カï¾ï½¸ï½¶ï¾ï½¸ï¾ï¾ï¾ï¾ï¾ï¾
— ãã¹å³ï¼ãã¹ã»ã¦ã§ã¤ï¼ããã // Usagi Ito (@USAGI_WRP) July 5, 2018
ãããã§ããð