處理輸出結構中包含一些字符串的最佳方法是什麼?如何處理輸出結構中的字符串分配
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