代码之家  ›  专栏  ›  技术社区  ›  Onorio Catenacci

模拟到STL

stl c
  •  31
  • Onorio Catenacci  · 技术社区  · 16 年前

    只是因为我很好奇——C++中STL的功能是否有C模拟?我看到有人提到 GTK+ 一些人认为glib库可以满足这个需求,但是是否还有其他库可以在C语言中提供stl功能?

    3 回复  |  直到 14 年前
        1
  •  28
  •   Dan Lenski    16 年前

    对, glib 这是一个很好的选择:它包含许多用于操作容器的实用程序,如链表、数组、哈希表等,还有一个面向对象的框架,叫做 GObject 您可以使用它来创建在C中带有信号和插槽的对象(尽管有相当详细的函数调用名,如 gobject_set_property ,因为C没有任何对象语法)。还有主循环的代码,所以您可以编写事件驱动的程序。

    来自维基百科的更多信息: http://en.wikipedia.org/wiki/Glib

    glib最初是gtk的一部分,但非gui代码已经被完全分解,因此您可以在命令行程序中使用它: http://library.gnome.org/devel/glib/stable/

        2
  •  4
  •   Nicol Bolas    14 年前
        3
  •  2
  •   James Curran    16 年前

    因为STL的本质是基于C没有的模板,所以甚至很难接近C中的STL。您最好希望的是一些集合类,它们可以操作指向未知对象的void*指针。