可能性の重複:
Container Class/Library for CSTLがC++用であるため、C(C99など)のための標準化された一般的なライブラリはありますか?
私は私のCプログラムのためのベクター、リストやセットを使用することを余儀なくされるだろう期待しています。これらのエンティティをゼロから作成するか、STLがC++のための標準ライブラリのいくつかがありますか?
可能性の重複:
Container Class/Library for CSTLがC++用であるため、C(C99など)のための標準化された一般的なライブラリはありますか?
私は私のCプログラムのためのベクター、リストやセットを使用することを余儀なくされるだろう期待しています。これらのエンティティをゼロから作成するか、STLがC++のための標準ライブラリのいくつかがありますか?
standard c libraryがありますが、リストにあるような組み込みのコンテナタイプはサポートされていません。
はい、C99には新しい配列型の組み込み機能がありますか?いいえ? – Mordachai
Cにはテンプレートがないため、これらのC++コレクションを一般的な方法で実装するのは難しいかもしれません。私はC言語でこれらの機能を実装しているライブラリは認識していません。
私がこのような状況に直面した場合、私の最初の考えは、C++機能の恩恵を受ける私のプログラムの部分 を分離し、 C++で extern "C"
これらのモジュールへのインターフェイスを提供するので、プログラムの純粋なC 部分から呼び出すことができます。それはあなたのための選択肢ですか?
重複した質問例を参照してください:http://stackoverflow.com/questions/305611/container-class-library-for-c – quinmars
GLibを見てください:http://library.gnome.org/devel/glib /stable/glib-data-types.html – Christoph
抽象ベクトル、リスト、およびセットを使用する場合は、C言語ではなくC言語で記述する必要があります。上位言語のイディオムをC言語にコピーすると、C言語あなたがより高水準の言語でそれを書いた場合よりもはるかに醜いコードになります。これの素晴らしい例は 'glib' /' gtk'コードを参照してください。 –