Я пишу программу на Objective-C с включенной сборкой мусора. Она опирается на определенную стороннюю библиотеку C ++, но ее заголовки не компилируются как Objective-C ++, поэтому у меня есть хороший объем чистого кода C ++ с некоторым Objective-C ++, устраняющим разрыв.
Я сделал такое в мосту, чтобы разрешить передачу объектов Objective-C в C ++:
#ifdef __OBJC__
@class NSManagedObjectID;
#else
typedef void NSManagedObjectID;
#endif
Полагаю, это неправильно, поскольку C ++ ничего не знает о сборке мусора в Objective-C. Если сторона C ++ удерживает ссылку (и я бы этого хотел), в то время как ничего на стороне Objective-C не делает, я бы в итоге получил висячий указатель?
Если так, как правильно с этим справиться?