C 能说会道的宏文档
发件人: g\u数组\u append\u val() 将值添加到数组的末尾。如有必要,阵列大小将自动增大C 能说会道的宏文档,c,glib,C,Glib,发件人: g\u数组\u append\u val() 将值添加到数组的末尾。如有必要,阵列大小将自动增大 g\u array\u append\u val()是一个宏,它使用对值参数v的引用。这意味着您不能将其与文字值(如“27”)一起使用。必须使用变量 参数 aa阁楼 v要附加到GArray的值 有没有可能所有像这样的宏定义都不太正确?a不是指向GArray的指针吗?文档的术语似乎是将指向GArray的指针称为GArray。(这在国际海事组织中并不准确) 例如,看下一项: g_数组\u附加\
g\u array\u append\u val()
是一个宏,它使用对值参数v
的引用。这意味着您不能将其与文字值(如“27”)一起使用。必须使用变量
参数
a
a阁楼
v
要附加到GArray的值
有没有可能所有像这样的宏定义都不太正确?
a
不是指向GArray的指针吗?文档的术语似乎是将指向GArray
的指针称为GArray
。(这在国际海事组织中并不准确)
例如,看下一项:
g_数组\u附加\u VAL()
将len元素添加到数组的末尾
参数阵列一个GArray
…
返回阁楼 这里的数组显然是指向GArray的指针
从可能的原因来看,这可能是因为无法创建GArray的对象。(如果我没记错的话,这是一个不透明的指针)而通过调用
g_array_new()
得到的新数组的类型是GArray*
Yesa
是指向GArray
的指针。在这里被称为GArray
。@MohitJain:。。。那么上面的文档是不准确的,恕我直言,因为它应该是“a
aGArray*
”。“reference”也是不准确的,因为C@alk中没有“reference”。但这可能是他们文档中的术语(我并不完全了解)。我想这取决于这样一个事实,即不能简单地定义GArray
,必须使用g\u array\u new()
创建它。那么,我想所有函数都需要一个GArray
指针。从源代码看,在g\u array\u new()
中,指向结构GRealArray
的指针在返回之前使用(GArray*)
强制转换。因此它使GRealArray
的其他成员无法访问。
#define g_array_append_val(a,v)
GArray *
g_array_append_vals (GArray *array,
gconstpointer data,
guint len);