![]() |
1
4
这是piml习惯用法的一个略显蹩脚的版本,但是代码较少,并且有效地将C++ ++ ISM从纯ObjuleC代码隐藏起来。显然,你必须包括
如果
这种方法是 suggested |
![]() |
2
4
任何包含C++片段(不管多么小)的代码都必须用ObjuleC++(因此在.mm文件中)编译。如果你想缩小.mm文件的数量,你就必须把你的C++代码的功能包在ObjtoE-C类中,这样这个类的公共接口(IT.h文件)只包含Objto-C代码。这意味着包装类不能包含一个C++类型的公共IVAR。这是否是一个可行的方法,如果你的C++ LIB仅仅由一个数据结构组成,我不知道。
|
![]() |
3
2
基本上,需要引用包装类的任何东西都是Objto-C++代码,而不是直C++。
我建议您将包装器类的包含限制在实现(aka)中
技术,比如 Pimpl idiom 可以帮助您的类用户隔离它在ObjuleC++中部分实现的事实。 |
![]() |
4
1
我首选的解决方案是这个向前声明宏:
然后MyObjcWrPr.h可以安全地包含在Objtovi-C和ObjuleC++文件中。
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |