Я попытался создать структуру с классами в ней, например:
struct my_struct
{
NSString *string;
// more fields
};
К моему удивлению, Objective-C++ разрешил это с включенным ARC.
Как он будет управлять строкой?
Его можно легко удерживать в каждом задании, но проблема заключается в освобождении.
Он может добавить деструктор с релизом в нем, но это сделает структуру нетривиальной.
Это также может сделать так, чтобы это не сохранялось или освобождалось, но для этого должно быть unsafe_unretained.
По моим наблюдениям, при использовании этого ничего не происходит, но я хотел бы знать, что здесь происходит на самом деле.