boost multiple array
来源:互联网 发布:网络视频王国强少废话 编辑:程序博客网 时间:2024/06/05 22:29
最近在整理代码,因为项目的原因,有很多矩阵的科学计算,我们一直使用二维数组来表示矩阵,如果是静态的没有任何问题,比如
complex<float> array[m][n];
但是当需要用到动态数组,比如要在class保持一个指针,那分配内存会很麻烦,要分步来new。
complex<float>** array = new complex<float>*[m];for(int i=0; i<n; ++n) array[i] = new complex<float>[n];
但是这个有两个不太好的地方,第一就是过多的调用new,效率比较低。第二就是代码很冗余。
那这时我选择了boost的multiple array,这个array用起来很简单,
boost::multi_array* array = new boost::multi_array(boost::extents[m][n]);
另外他还有三个不得不提的好处,第一就是可以制定在内存中的排列方式,是行优先还是列优先。比如C就是行优先,那fortran就是列优先。第二就是可以自己制定base,比如C的数组都是从0开始的,而fortran的就是从1开始的。最后他可以自己截取出一个view,这个因为现在还没有什么需求,所以就没有什么体会。
- boost multiple array
- 【Boost】boost::array详解
- 【Boost】boost::array详解
- Learning boost 2 Array
- Boost::array 介绍
- boost.array 使用实例
- 1.4 boost::array用法
- boost array的使用
- 1.Boost之array
- AtCoder gc009 A Multiple Array
- 引领Boost(五)(Boost::array)
- 引领Boost(五)(Boost::array)
- 为什么要用boost::array
- boost::array库的使用
- Array to hash with multiple keys
- Boost学习笔记(二)------boost::array数组的使用
- boost.array源码整理和使用说明
- boost::array 数组 容器相关的
- c++构造函数详解--深拷贝与浅拷贝
- PC安卓模拟器 PANIC: Could not open: C:\Documents and Settings\Administrator\.android/avd/xxx.ini
- C#编程规范 Version 2.0
- 为什么Nginx的性能要比Apache高得多?
- Linux diff命令用法详细解析
- boost multiple array
- 读书笔记-谈创新,谈雷军
- php对xml文件中节点编辑
- 接入层交换机H3Cs3100相关配置-图
- 一步一步学习Linux-------之命令总结
- Excel 导入(sqlbulk.ColumnMappings + 创建数据表)
- Create table(access环境下)自动编号类型的写法
- JAVA设计模式—访问者模式(Visitor)
- 关于OpenFileDialog的使用