按列访问矩阵指针
Access pointer to matrix column-wise
使用以下代码,我可以访问指向矩阵的指针行:
#include <iostream>
int main(void) {
const int size = 10;
float **mat = new float*[size];
int i,j;
for (i = 0; i != size; ++i) {
mat[i] = new float[size];
for (j = 0; j != size; ++j) {
mat[i][j] = i * size + j;
}
}
float *p = mat[size-1];
for (i = 0; i != size; ++i) {
std::cout << p[i] << " ";
}
std::cout << std::endl;
return 0;
}
打印:
90 91 92 93 94 95 96 97 98 99
有没有办法让我也能访问这个专栏?提前非常感谢:)
编辑:对不起,我的问题被误解了。我需要的是一个指向矩阵矩阵中一列的指针。我认为这是不可能的,是吗?
第二版:我基本上需要的是一个指针,这样我就可以转换到:
__m128 *m_ptr = (__m128*) p;
每一次额外的迭代都需要O(n),这应该避免,因为我想向量化并加快代码。行访问方便快捷。列访问也应该是可能的???!
好吧,如果你想访问行(而不是列,这是你已经在访问的)的元素,那应该很简单:
for (i = 0; i != size; ++i)
{
std::cout << mat[i][size - 1] << " ";
}
顺便说一句,你的代码正在泄漏,因为你分配的内存永远不会释放。
相关文章:
- 通过指向指针数组的指针访问子类的属性
- 使用指针访问数组中的对象数据成员
- 无法通过指针访问对象的成员
- decltype:使用指针访问类的静态成员
- 是否可以使用指针访问变量以避免直接编辑变量?
- 为什么 C++ 地址中的矢量无法通过原始指针访问
- 使用指针访问数组元素时出现意外结果
- 使用指针访问数组的值
- C++继承从基类指针访问派生类中的非虚拟函数
- 如何使用指针访问成对向量的元素
- 为什么有些库提供无指针访问,而另一些库则不提供
- 如何通过引用或指针访问二维矢量
- 使用指针访问参数接收的结构中的元素时内存泄漏
- 我正在学习C++,我不能使用指针访问参考吗?(举个例子)
- 复制堆栈上的成员值或使用指针访问它?
- C++娜娜 如何从全局列表框*指针访问列表框内的索引 0 上的按钮?
- 通过此指针访问时的成员差异和自身的成员指针(简单的 QT 示例问题)
- 从C++中传递给函数的指针向量访问矩阵
- OPENCV-直接用指针访问过滤图像,并用内核矩阵过滤
- 按列访问矩阵指针