1

一个人如何从GLib 中的单链表的开头习惯性地“弹出” ?有几个函数可以粘合在一起,但不会像g_slist_prepend.

4

3 回答 3

3

根据您的用例,要么

// pop and discard head
list = g_slist_delete_link(list, list);

或者

// pop head but keep it for further use
GSList *head = list;
list = g_slist_remove_link(list, head);
// do stuff with head
g_slist_free1(head);
于 2012-04-13T16:39:32.687 回答
2

您可以使用具有和的双端队列g_queue_push_headg_queue_pop_head

于 2012-04-13T16:33:19.597 回答
0
list = g_slist_remove(list, list->data);
于 2012-04-13T16:33:57.023 回答