结构

GLibStringChunk

说明 [src]

struct GStringChunk {
  /* No available fields */
}

GStringChunk 提供了高效的字符串组存储方式

字符串块用于存储字符串组。内存以区块分配,将字符串添加到 GStringChunk 时,它们会被复制到区块中下一个空位置。当一个区块已满,将分配一个新区块。

在存储大量字符串时,字符串块比使用 g_strdup() 更高效,原因在于对 malloc() 的调用次数更少,内存分配开销节省的内存也更多。

通过使用 g_string_chunk_insert_const() 添加字符串,也可以删除重复项。

要创建一个新的 GStringChunk,请使用 g_string_chunk_new()

要向 GStringChunk 中添加字符串,请使用 g_string_chunk_insert()

要向 GStringChunk 中添加字符串,但不重复已包含在 GStringChunk 中的字符串,请使用 g_string_chunk_insert_const()

要释放完整的 GStringChunk,请使用 g_string_chunk_free()。无法释放单个字符串。

函数

g_string_chunk_new

创建一个新的 GStringChunk

实例方法

g_string_chunk_clear

释放 GStringChunk 中包含的所有字符串。调用 g_string_chunk_clear() 之后,不能再访问包含其中的任何字符串。

自:2.14 版

g_string_chunk_free

释放 GStringChunk 分配的所有内存。调用 g_string_chunk_free() 之后,不能再访问包含其中的任何字符串。

g_string_chunk_insert

string 的副本添加到 GStringChunk 中。它返回 GStringChunk 中字符串的新副本的指针。必要时,可以更改字符串中的字符,但不要在字符串结尾后进行任何更改。

g_string_chunk_insert_const

string 的副本添加到 GStringChunk 中,除非已使用 g_string_chunk_insert_const() 将相同的字符串添加到 GStringChunk 中。

g_string_chunk_insert_len

将字符串 string 的前 len 个字节添加到 GStringChunk 中。该副本以空结束。

自:2.4 版