【问题标题】:How do I use C++ STL containers in My iPhone App?如何在我的 iPhone 应用程序中使用 C++ STL 容器?
【发布时间】:2009-05-05 02:57:22
【问题描述】:

我想在我的 iPhone 应用程序中使用 STL 集(在 XCode 中用 Objective-C 编写)。如何包含设置和/或使用标准命名空间?

在 C++ 中我会这样做:

#include<set>
using namespace std;

// use the set<T> somewhere down here...

如何在 Objective-C 中做到这一点?

【问题讨论】:

    标签: c++ objective-c standard-library


    【解决方案1】:

    只需重命名源文件,使其以 .mm 结尾,它应该会触发 Objective-C++ 前端;然后,您可以在其中混合使用 Objective-C 和 C++。更多信息here.

    【讨论】:

    • 这是正确的解决方案,但在析构函数、异常、RAII 和内存管理方面存在一些问题并不能真正 100% 正确工作,因此虽然它是 C++ 和 STL,但仍有许多特殊的等待尝试 .mm 扩展名的勇敢灵魂的惊喜 :)
    【解决方案2】:

    Objective-C 不直接支持 STL。似乎有几个项目试图将 STL 移植到 Objective-C。 Objectivelib 就是其中之一,可在 sourceforge 上获得

    【讨论】:

      猜你喜欢
      • 2012-11-23
      • 2018-12-03
      • 2023-03-23
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 2012-09-21
      相关资源
      最近更新 更多