2012-09-11 122 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