在处理二维数组时,例如你需要经常访问元素的矩阵.执行此操作的直接方法是通过两个嵌套循环:
for( int i=0; i < n; ++i ) { for( int j=0; j < m; ++j ) { // do something with data[i][j] } }
这个代码原则经常在整个代码中反复复制.你怎么解决这个问题变成DRY?我认为解决这个问题的唯一方法是使用带函数指针的访问者函数,对吧?
编辑:为了更具建设性,我们假设您有矩阵类型typedef double ** Matrix;.
对于C,这可以通过这种方式解决:Loop over matrix elements applying variable function