请教一下关于STL
不知道大家都用不用STL,许多人是反对STL的,因为形成的应用文件大,不容易调试,但喜欢的人也喜欢得不得了,有些人离了STL都不知道怎么编程了,现在想自己写点程序,很犹豫是不是用STL,用STL最大的问题还不是其他,而是调试太慢了,我要编图像处理的软件,在release几十个毫秒可以跑完的程序在debug mode恨不得跑几分钟,改变设置取消许多检查也还是慢,完全无法调试,想听听大家的意见,到底是用还是不用STL,如果用,怎么调试呢那么慢,先谢谢了
[解决办法]
STL不太适合你这种程序,它本身是比较拖速度的,它只是对数组,树,链表,散列,队列,等一些数据结构进行来封装并提供了操作,实际上它只是一种通用的设计,通用自然就并不是最好的。特别是像图形开发方便的应用就显得和鸡肋了。
[解决办法]
1. 当然要用STL。
其实Java,C#中把类似的东西从一开始就放到语言中去了。C++一开始为了保持语言的纯粹性,没有将STL纳入标准,而现在STL已经是C++标准的一部分了。
2.
当然是用STL还是要讲究场合的。比如嵌入式、某些图像处理方面可以考虑不适用STL,尤其是嵌入式方面的程序。图像处理一般还是用数组这样的办法来处理。
3. debug mode肯定比release慢很多,就算你不用STL也是如此,因此这个和使不使用STL无严格关系。
4. 调式则是另外一个问题。调式有很多办法,这个不能怪STL。比如你在代码中使用了某个第三方提供的动态库,你也没有办法step into的。
个人看法,仅供参考。
[解决办法]
的确是个问题.
可以在调试的时候使用sgi stl
越完善的stl调试的代码就越复杂.
release后都是差不多的.
[解决办法]
实现自己的程序框架
[解决办法]
不用,一般针对具体情况具体分析
自己写代码
STL里的一些东西又不是很难,自己可以实现,并且还能做到心中有数