C эквивалент С++ STL

Возможный дубликат:
Стандартная библиотека структуры данных в C?

Имеет ли C какие-либо реализации структуры данных, похожие на С++ STL? В частности, ассоциативные контейнеры, хэш-карты или любая другая структура с приблизительно постоянным временем поиска?

Спасибо!

Ответ 2

glib включает GHashTable, которые являются в основном ассоциациями между ключами и значениями - что HashMap находится на С++.

Важное различие заключается в том, что вы должны использовать void* для хранения произвольных данных, поскольку C не поддерживает шаблоны или дженерики. Недостатком является то, что компилятор не может проверить правильность вашего кода, и вы должны сами убедиться в правильности.

Ответ 3

На самом деле вы можете реализовать свои собственные на C. Создайте структуру, дайте ей указатель на родителя и реализуйте функцию, которая возвращает указатель на экземпляр вашей структуры, и у вас есть свои классы в C. Вы можете зайти так далеко, насколько хотите, если у вас есть время, и вы знаете как это сделать.

Ответ 4

C никогда не может иметь ничего подобного, потому что у него нет никаких необходимых функций, особенно шаблонов.