Chinaunix

标题: 新新手的疑问,关于字符串指针 [打印本页]

作者: allegrox    时间: 2012-06-26 12:46
标题: 新新手的疑问,关于字符串指针
  1. void* pOriKey = NULL;
  2. void* pOriValue = NULL;
  3. gboolean bRet = g_hash_table_lookup_extended(g_hash_PtrSz, g_szArrKey[1], &pOriKey, &pOriValue);
  4. EXPECT_LT( 0, bRet);
  5. EXPECT_STREQ( g_szArrKey[1], (char *)(pOriKey) );
  6. EXPECT_STREQ( g_szArrValue_Expect[1], (char *)(pOriValue) );
复制代码
在这段代码中pOriKey,pOriValue指向的空间什么时候分配?在g_hash_table_lookup_extended返回时?
在哪儿分配?
如果函数非常频繁调用,开销线性增长?
是否需要提前分配空间?提前分配空间又会有溢出问题?
我是不是想的太多了?
作者: 冷寒生    时间: 2012-06-26 18:46
你用的是GTK还是GLib的API,这只是一个接口,内存的申请人家都封装好了的,你只管调用就行了。

有兴趣可以阅读一下g_hash_table_lookup_extended的实现代码
作者: allegrox    时间: 2012-06-28 08:16
冷寒生 发表于 2012-06-26 18:46
你用的是GTK还是GLib的API,这只是一个接口,内存的申请人家都封装好了的,你只管调用就行了。

有兴趣可 ...

释放哪?我一读他就释放了?
这样频繁调用时是否开销很大?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2