2012-09-11 163 views
0

如果塊的數目未預先知道,在循環內動態分配內存的安全性,特別是性能如何。malloc內部循環

我有一個Pro * c文件,它有一個遊標。我需要從DB獲取數據並分配給C結構。我不確定是否有任何方法可以查找遊標中的記錄數。

+0

您是否在尋找C或C++? – Caesar

+0

我的應用程序是C和C++代碼的混合,所以沒關係。 –

回答

4

如果這是你需要的,那就去做吧。在C++中沒有關於循環語法的內容,它影響到malloc;他們只是沒有任何關係。

但是malloc通常不是C++中的正確​​選擇。稍微好一點的是使用安全型的new/delete操作員,最好是通常是一個容器,如std::vector<>

+0

感謝您的回答。我的應用程序使用很多c結構,所以我必須使用malloc。我如何使用結構的向量? –

+0

您使用的是C還是C++?在C++中,您可以使用它與一個類完全相同。 'std :: vector many_structs;'... – tenfour

+2

@omsarathe如果它是安全可複製的(不包含指向動態分配和擁有的對象或指針的指針),則使用具有C結構的'std :: vector'沒有問題本身)。但是,如果沒有,即使使用'malloc/free'方法,您也會遇到問題。實際上'std :: vector'被設計爲與C數組兼容。只需定義'std :: vector '對象,並且不要忘記包含''標頭。 – Rost