x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[Closed] TSharedとUObjectのGCについて

お世話になっております。

UE4のUObjectがGCに回収されないためにTSharedPtrが使用できるのかどうか ご教示いただけないでしょうか。

m_Object = MakeShareable(NewObject());

こう書いた場合、m_Objectという変数はUPROPERTY()を付けず、UObjectを継承『しない』クラスの メンバー変数に保持されていてもGCに回収されずにすむでしょうか。 それともTSharedPtrはstd::shared_ptrをただ書き直しただけで、UE4に搭載されているGCとは 何も関係がいないかというのがよくわかっておらず。

お忙しいところ大変申し訳ありません 以上よろしくお願いします。

Product Version: Not Selected
Tags:
more ▼

asked Oct 26 '18 at 10:54 AM in Japanese

avatar image

Answers.Archive STAFF
1.8k 185 294 651

(comments are locked)
10|2000 characters needed characters left

The question has been closed Oct 26 '18 at 10:55 AM by Nori Shinoyama for the following reason:

The question is answered, right answer was accepted


1 answer: sort voted first

お世話になっております。

はい。UObjectによるGCのシステムに関してTSharedPtrは無関係のため、GC回収されないためには、UProperyをつけたりAddToRootをしたりAddReferencedObjectsなどによって参照関係を作成する必要がございます。

AnswerHubですが、Epic Staffがご返答している以下が参考になるかと思います。

https://answers.unrealengine.com/questions/23497/is-this-the-correct-practice-with-uobjects-and-sma.html

TSharedPtr(やMakeSharableなど)はUObjectに関して呼び出すものではなく、エンジン内部ではUObjectではないF~などのクラスのために使用しております。

more ▼

answered Oct 26 '18 at 10:54 AM

avatar image

Answers.Archive STAFF
1.8k 185 294 651

avatar image Answers.Archive STAFF Oct 26 '18 at 10:54 AM

返信遅くなり申し訳ありません。

なるほどそうですよね!勘違いしていなぞのハングを繰り返していました。

回答ありがとうございました!

(comments are locked)
10|2000 characters needed characters left

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question