Есть такой вопрос по крестам в уече Есть у меня Member

variable:
TWeakObjectPtr<AActor> Foo;
Нужно ли ее оборачивать UPROPERTY для GC?
UPROPERTY()
TWeakObjectPtr<AActor> Foo;

Просто для обычных поинтеров на объекты это обязательно, а вот для вик я хз, GC вроде не должен знать про этот поинтер, хотя он и занулится. В общем нужны разъяснения)


Upd:
Гугл привел к этому:

You can think of it is a such way:
1. It is weak reference field, so it is not blocking GC
2. It is UPROPERTY, so UE know something about this field. It knows that this struct contains this field and calculate size of struct with paying attention to it. Also UE adds special methods and registers all such UPROPERTies for this struct class

5 ответов

26 просмотров

Нет, на Tweak не нужно, он для того и нужен чтобы избегать циклических ссылок

Constantine-Romakhov Автор вопроса

В общем UPROPERTY и TWeakObjectPtr валидная штука

ага

Зависит от того, что ты хочешь сделать. Если нужно в BP - оборачивай. Не нужно - не оборачивай. WeakPtr в BP поддерживаются.

Constantine-Romakhov Автор вопроса

Тут дело ведь не только "если хочу в BP". А как же сериализация и рефлекшн система? Без UPROPERTY этого ничего не будет

Похожие вопросы

Обсуждают сегодня

Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
Карта сайта