什么是objc_setAssociatedObject / objc_getAssociatedObject的C ++等价物?

时间:2017-05-22 07:27:09

标签: c++ objective-c c++11 binding

C ++ 11 STL中的任何内容与 Objective-C 中的objc_setAssociatedObject/objc_getAssociatedObject等效或类似吗?

如果没有,那么我有什么方法可以在C ++中实现相同的行为?

1 个答案:

答案 0 :(得分:0)

没有。没有任何东西等同于obj_setAssociatedObject

您可以接近静态std::unordered_map,但真正困难的一点是确保删除拥有对象会删除关联的对象。如果您不需要,或者您可以修改拥有对象代码以拥有它自己的地图,那么您应该没问题。

如果你需要在删除拥有对象时删除关联对象,你不能改变相关对象的代码,那么我们需要更多应用程序的详细信息以提出合理的建议(我建议提出另一个问题,而不是改变这个问题)。