方法

GLibHashTableIterremove

自: 2.16

声明 [来源]

void
g_hash_table_iter_remove (
  GHashTableIter* iter
)

描述 [来源]

从与迭代器当前指向的关键字/值对关联的 GHashTable 中移除该关键字/值对。只能在 g_hash_table_iter_next() 返回 TRUE 之后调用,并且不能对同一关键字/值对调用多次。

如果使用 g_hash_table_new_full() 创建了 GHashTable,则使用提供的销毁函数释放关键字和值,否则您必须确保自行释放任何动态分配的值。

之后继续迭代 GHashTable 是安全的

while (g_hash_table_iter_next (&iter, &key, &value))
  {
    if (condition)
      g_hash_table_iter_remove (&iter);
  }

自可用: 2.16