处理输出结构中包含一些字符串的最佳方法是什么?如何处理输出结构中的字符串分配
struct info
{
wchar_t * text;
size_t text_len;
}
void Foo(struct info * output);
用户需要分配文本自己
输出可以在一个循环
很难知道需要多少内存分配被回收,内存可能的浪费,如果输出存储(例如,保持列表中的项目)分配文本中富
苦为用户自由输出,因为他之前释放每个文字(可以使FreeStructInfo以缓解疼痛)
不是那么好内循环从富
内符可以在结构信息嵌入文本分配输出用户只需要自由输出就可以释放所有。
适合存储(美孚知道它需要多少分配),
但也许如果在一个循环中用作短命变量,因为它不能被回收的内存很大的压力。
Windows使用“用户需要分配自己的文字”,要么你分配足够的,或者你需要调用函数两次获得所需要的尺寸。
我注意到一些事情,cpu缓存,当在结构中嵌入文本时,它将已经在需要的时候在cpu缓存中,所以它是某种优化 – CiNN 2009-05-17 15:45:33