18

重複の可能性:
Cの標準データ構造ライブラリ?

CにはC++STLと同様のデータ構造の実装がありますか?具体的には、連想コンテナ、ハッシュマップ、またはほぼ一定の時間で取得できるその他の構造ですか?

ありがとう!

4

4 に答える 4

28

Cにはテンプレートやクラスがないため、CはSTLの「完全に同等」を持つことはできません。

「Glibコレクション」ライブラリに興味があるかもしれません。

于 2012-06-12T20:23:56.377 に答える
6

glibGHashTableには、基本的にキーと値の間の関連付けであるsが含まれています。これはC++のHashMapです。

重要な違いはvoid*、Cはテンプレートまたはジェネリックをサポートしていないため、任意のデータを格納するために使用する必要があることです。欠点は、コンパイラがコードの有効性をチェックできず、自分で正確性を確認する必要があることです。

于 2012-06-12T20:25:35.173 に答える
2

実際にCで独自に実装することができます。構造体を作成し、その親へのポインターを与え、構造体のインスタンスへのポインターを返す関数を実装します。クラスはCにあります。時間があり、知っている場合は、実際に好きなだけ行くことができます。どうやってするの。

于 2012-10-05T20:03:10.387 に答える
-3

Cには必要な機能、特にテンプレートがないため、Cにはそのようなものはありません。

于 2012-06-12T20:27:11.273 に答える