NSData、NSDictionary、NSArrayがC++ライブラリに含まれているかどうかは疑問でした。もしそうでなければ、これらのクラスを提供する既知の一般的なフレームワークはありますか?NSData、NSDictionary、NSArray相当品C++
よろしく本当に
NSData、NSDictionary、NSArrayがC++ライブラリに含まれているかどうかは疑問でした。もしそうでなければ、これらのクラスを提供する既知の一般的なフレームワークはありますか?NSData、NSDictionary、NSArray相当品C++
よろしく本当に
STLの代わりにNSArrayのを使用することができます代わりに、NSDictionaryの及びベクターを用いることもできるマップを持っているが、もちろん "特定の機能が不足している可能性があり、より多くのコーディングが必要な場合があるため、「変換」は簡単ではありません。例えば。 NSDictionaryのセレクタdictionaryWithContentsOfURL:
を "エミュレート"するには、URLを解析するためにC++で特別なコーディングが必要です。また、リモートリソースであれば、接続して取得してからデータをシリアル化しません。もちろん、他のライブラリも役立つかもしれませんが、NSDictionary(と他のもの)の特別な機能を移植する必要がある場合は、より多くのコードを書く必要があります。
一方、基本的な辞書と配列の機能のみを使用すると、「変換」がかなり簡単になることがあります。
NSDataの同様の引数です。これはstd::stringbuf
で「エミュレート」できます。
GNUstepライブラリを使用することもできます。 GNUstepはGNUオープンCocoaフレームワークで、Cocoa(AppKitとFoundationクラス)のほぼすべてを提供します。 GNUstepはApple Mac OS X以外のプラットフォームにも存在するため、これらのプラットフォームでCocoaアプリケーションを移植することができます。 Objective-C++を使用すると、STLとCocoa/GNUstepの両方のフレームワークを使用することができ、理論的には(OOプログラミングの制限と異なる "起源"のクラス/オブジェクト間の "相互作用"そのような混合物を試しましたが、paying attentionはいくつかのメリットがあります)
ない、これらのクラスの機能は言語によって大幅に支配されているので。
一方std :: vector(配列とデータ)とstd :: map(辞書)があります。これらは全く同等ではありませんが、同様の目的を果たします。
はい、ベクターオブジェクトがコピーされます。どのようにちょうどリンクを格納するには? – SAKrisT
私はshared_ptrとweak_ptrという非常に有用なものを見つけました:) – SAKrisT