2012-06-12 30 views
10

Duplicar posibles:
Standard data structure library in C?C equivalente de C++ STL

¿El C tienen ninguna implementación de estructuras de datos similares a la STL C++? ¿Contenedores específicamente asociativos, mapas hash o cualquier otra estructura con recuperación de tiempo aproximadamente constante?

Gracias!

+2

Un montón de preguntas similares: http://stackoverflow.com/search?q=[c]+data+structure+library –

Respuesta

5

glib incluye GHashTable s que son básicamente asociaciones entre claves y valores, lo que HashMap es en C++.

La diferencia importante es que debe usar void* para almacenar datos arbitrarios ya que C no admite plantillas o genéricos. La desventaja es que el compilador no puede verificar la validez de tu código y debes asegurarte de que sea correcto.

-1

C nunca podría tener algo así, porque no tiene ninguna de las características necesarias, especialmente plantillas.

2

Puede implementar su propio C en realidad. Haz una estructura, dale un puntero a su padre e implementa una función que devuelve un puntero a una instancia de tu estructura y tienes tus clases en C. Puedes llegar tan lejos como quieras en realidad si tienes tiempo y sabes cómo hacerlo.