C 使用坐标结构的访问阵列元素
C++ access array element using a COORD struct?
我想知道是否有一种简单的方法可以使用坐标结构访问二维数组的元素。例如:
COORD myCoord = {2,6};
TwoDiArray myArray;
myArray.at(myCoord) = 10;
我不知道如何正确执行此操作。有任何建议吗?
您只需要定义一个正确的函数 at()
:
class TwoDiArray {
...
// assuming there is some 2-dimensional array representation arr
public:
int& at(COORD c) noexcept { return arr[c.x][c.y]; }
};
我正在假设您的TwoDArray
类型是您无法更改和访问的类型 - 嗯 - 就像二维数组一样,例如,二维的别名内置阵列(否则请参见 @Jodocus的答案)。您可以实现附件进行数组参考和COORD
对象:
template <typename Array2D>
auto at(Array2D&& array, COORD c) -> decltype(array[c.x][c.y]) {
return array[c.x][c.y];
}
(我不知道COORD
成员的名称)您将使用这样的功能:
at(myArray, myCoord) = 10;
相关文章:
- 回旋/修改阵列访问
- 访问特定阵列位置/索引时出现分段错误
- 如何将1D阵列访问为2D阵列
- 分配/访问2d阵列,使得2d子块是连续的
- 将积分类型的数组作为另一个不相关的积分类型的阵列进行访问的安全且符合标准的方法
- 访问多个阵列时 CPU 缓存的作用是什么?
- OpenMP 环路阵列访问中的错误共享
- 访问字符阵列中不可用的内存位置(超出范围值)
- 将std ::向量转换为阵列和当时的p/调用它会导致访问违规例外,在编组期间mscorlib.dll
- C 使用坐标结构的访问阵列元素
- 大多数令人烦恼的解析,并访问阵列
- C 私有阵列访问和存储
- 是二维阵列访问/修改时间组
- 阵列访问期间出现分段错误
- X86 MASM-通过并访问2D阵列
- 动态2D阵列访问侵犯剩余
- 为什么2D数组访问要比1D阵列访问更快
- 在循环的停止条件下访问阵列值是安全的吗?
- 快速访问阵列中的数据
- 尝试访问阵列的隔离错误