fdh*_*fdh 5 c++ macos objective-c
C++和Objective C在Objective C++中有多少集成?我意识到Objective C++编译C++和Objective C代码,但这些语言实际上是否相互影响?
例如,我可以创建Objective C对象的模板吗?如何从C++类继承Objective C类?
我基本上要问的是语言混合还是只是在同一个文件中编译?到什么程度?
使用 Objective-C++ 构建应用程序是很常见的。您可以将 Objective-C 封装在 C++ 代码中,但不能共享对象。例如,您无法在 Objective-C 中创建 NSString 对象并尝试从 C++ 调用方法 hasSuffix: ,反之亦然。因此,要在这两者之间共享内容,您需要使用 C 类型,如结构、字符、整数等。这是因为 Objective-C 对象只能在 Objective-C 运行时环境中使用,而 C++ 对象只能在 C++ 运行时环境中使用。所以他们唯一可以共享和交流的就是C。
也许一个小例子将向您展示如何在这两者之间进行交互。
NSString * objcStr = [[NSString alloc] initWithString:@"Hello World!"];
std::string cppStr ([objcStr UTF8String]);
std::cout << cppStr;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |