问个菜鸟问题,关于大数存储
本人菜鸟,想用c++写个大数类,不知是自己实现动态数组好还是用vector好?哪位前辈路过请指教一下,谢谢 原帖由 reader1031 于 2008-4-11 11:10 发表 http://images.5d6d.net/dz60/common/back.gif本人菜鸟,想用c++写个大数类,不知是自己实现动态数组好还是用vector好?哪位前辈路过请指教一下,谢谢
实现动态数组的特点:实现的好的话可能很高效,反之则低效,可以跨平台,不依赖于目标编译器是否支持STL,可用以c编程,而不是C++。 缺点: 实现起来要麻烦一些。
使用Vector的特点:效率基本上可得到保证,代码简单,移植性不好,要求目标编译器是C++,支持STL。 我觉得还是RAW形式的内存块最好了 当效率敏感时,需要考虑使用低层C或者底层的ASM实现然后使用C++外包装接口,即空壳C++的手法 原帖由 无心人 于 2008-4-11 11:29 发表 http://images.5d6d.net/dz60/common/back.gif
我觉得还是RAW形式的内存块最好了
可否讲解一下?谢谢 就是以机器双字分配的原始内存块
初始时可定义一个稍微小的块
其他各属性使用静态存储
如果内存块使用中太小
再次分配,大小为原来的k倍
k可取2,当然合适的k需要根据经验调节
如果有特殊任务,则可直接限定初始化块的大小 感谢各位!!
页:
[1]