eug*_*ene 5 c++ iphone objective-c
我正在混合 c++ 和 objectc。
特别是,我向 object-c 标头添加了一个 C++ 类/结构变量,这是否合法?
例如,
@interface MyView : UIView
{
MyCppClass cppVariable;
}
@property (nonatomic, assign) MyCppClass cppVariable;
@end
Run Code Online (Sandbox Code Playgroud)
并在实现文件中,@synthesize cppVariable;以及。
正如Objective-C++ 官方文档中所述,您可以在 Objective-C 类中拥有非指针 C++ 对象。-fobjc-call-cxx-cdtors如果您使用GCC / clang 中的选项,它们将被正确构造和破坏。
@sythesiz由于缺乏文档,非指针 C++的情况@property不太清楚。该行为有时取决于所使用的编译器,正如在这个SO问题中所讨论的那样。Clang 团队正在尝试实现正确的事情,但我认为目前还无法实现。
因此,如果您愿意,请坚持使用指向 C++ 类的指针@synthesize。否则,实现您自己的 setter 和 getter。
| 归档时间: |
|
| 查看次数: |
4411 次 |
| 最近记录: |