我已经搜索了关于n维数组中的映射函数,但没有找到特别的答案。我想知道多维数组是如何工作我的C++?在n维数组中寻找特定索引元素的通用公式是什么?C++中的映射函数是什么?
-3
A
回答
-1
重新定义操作符[]与重新定义的oprator返回Object []
template<T>
struct Matrix {
// initialization and access checking skipped
typedef std::vector<T> t_raw;
typedef std::vector<t_raw> t_col;
t_col m_mat;
struct Idx {
Matrix* mat;
size_t row;
T& operator[](size_t col) {
return this->mat->m_mat[ this->row ][col];
};
}
Idx operator[](size_t row) {
Idx idx;
idx.mat = this;
idx.row = row;
return idx;
};
friend class Idx;
};
Matrix<int> m;
m[1][2] = 5;
1
鉴于一个k维数组arr[n,1][n,2][n,3]...[n,k]
,元件的在arr[x,1][x,2][x,3]...[x,k]
索引为x,k + x,(k-1) * n,k + x,(k-2) * n,k * n,(k-1) + ... + x,1 * n,2 * n,3 * ... * n,k
。
相关问题
- 1. 什么是映射缩减函数
- 2. XSLT 3.0中映射函数的命名空间是什么?
- 3. 什么是图像处理中的逆映射函数?
- 4. C++函数映射实现
- 5. 为什么一个函数中的映射值受到另一个函数中映射项的影响?
- 6. 函数“映射”是做什么的?为什么矩阵尺寸有问题?
- 7. 映射函数
- 8. 多映射与矢量映射的优点是什么?
- 9. 什么是C++中的伪虚函数?
- 10. 什么是用C++编写的好的UV映射库?
- 11. Vimscript - 映射函数
- 12. datastax映射类中的timeuuid应该是什么数据类型?
- 13. 为什么我的Knockout映射会杀死我的$ .change函数?
- 14. 什么是创建函数映射到参数的最有效方法?
- 15. C++,stl函数向量指针映射
- 16. 什么是动作映射XML文件?
- 17. 在C/C++中访问X11颜色映射的标准方式是什么?
- 18. 使用函数指针映射时的C++调用函数
- 19. JavaScript参数映射()函数
- 20. 有什么办法用hibernate POJO映射表函数吗?
- 21. Tomcat中的Spring处理函数映射
- 22. ebean映射到BYTEA的数据类型是什么?
- 23. MySql Connector/NET映射Guids的数据类型是什么?
- 24. 在C++中,对传递给调用函数中反映的函数的指针的更改是什么?
- 25. 动态函数映射
- 26. Haskell和Erlang映射函数
- 27. 将映射传递给C++中的模板函数时出错
- 28. 在XML和C#中实现多对多映射的最佳方式是什么?
- 29. 映射函数给出无法解析的函数或方法(映射)
- 30. c#中一些数据的映射
http://stackoverflow.com/a/3755221/14065 –
重复不会回答问题,因为我解释它 - 但它是模糊的。无论它值什么,如果说'T a [4] [5] [6];',编译器通常会创建'T _a [4 * 5 * 6]'的等价物,并且可以访问'a [i] [j] [k]'与'_a [k + j * 6 + i * 6 * 5]'相切。换句话说,元素仍然是连续的,并且改变最右边的索引移动到内存中的相邻元素。 –