我想在我的iPhone應用程序中使用STL集(它是用XCode中的Objective-C編寫的)。我如何包含設置和/或使用標準命名空間?如何在我的iPhone應用程序中使用C++ STL容器?
在C++中我可以這樣做:
#include<set>
using namespace std;
// use the set<T> somewhere down here...
我怎樣才能做到這一點在Objective-C?
我想在我的iPhone應用程序中使用STL集(它是用XCode中的Objective-C編寫的)。我如何包含設置和/或使用標準命名空間?如何在我的iPhone應用程序中使用C++ STL容器?
在C++中我可以這樣做:
#include<set>
using namespace std;
// use the set<T> somewhere down here...
我怎樣才能做到這一點在Objective-C?
只需重命名源文件,以.mm結尾,它應該觸發Objective-C++前端;你可以在其中混合使用Objective-C和C++。更多信息here。
在Objective-C中不直接支持STL。似乎有幾個項目試圖將STL移植到Objective-C。 Objectivelib就是這樣的,是可在SourceForge上
這是正確的解決方案,但也有一些問題,析構函數,異常RAII和內存管理是真的不正常工作100% ,所以儘管它是C++和STL,但仍有許多特殊的驚喜等待勇敢的靈魂嘗試.mm擴展:) – 2009-05-05 03:10:19