读书人

C写的程序改写成C++运行效率很低why

发布时间: 2012-02-15 12:09:44 作者: rapoo

C写的程序改写成C++运行效率很低,why?
如题,我是C++小菜鸟一个,最近在写一个sift算法的程序,因为网上有现成的C语言代码,就包装了一个变成了C++的自己用,但是运行起来效率好低啊,特征点匹配的时候等几分钟也不出结果,哪位大虾知道是什么原因呢?

代码太多不方便贴出来,我的做法就是把c语言的函数封装成类,然后不同函数之间调用的时候就new一个新类,再调用其成员。如在函数a中要用到函数b,A和B分别被封装在不同的类A和B里面了。这时我就在函数a中写:type B1=new B();下面就调用B1.b。是不是这样new的次数多了函数就很慢了呢,还有,new出来的新类需要手动释放占用的资源吗?

希望大哥大姐们不吝赐教!

[解决办法]
new imgfeatures();返回一个 imgfeatures* 指针,直接赋给imgfeatures对象没出错?
[解决办法]
用指针才需要new一段类存出来,imgfeatures imgf=new imgfeatures();
这样写,你有创建了个对象,又new了段内存,没看到你的类在哪定义的,内存不断增长,按俺的经验,可能你在循环中不断创建对象了,如果不需要这么做,把对象放到循环外面来,即使不delete也不会消耗多少内存
[解决办法]
100多k应该是你循环创建了图片的对象了吧,一般的哪这么大,我以前做opengl也遇到过
[解决办法]
没有看明白

读书人网 >C++

热点推荐