C++ 执行SpMat的迭代器<;类型>;在犰狳中只访问非零条目?

C++ 执行SpMat的迭代器<;类型>;在犰狳中只访问非零条目?,c++,loops,iterator,armadillo,C++,Loops,Iterator,Armadillo,我想知道如何循环遍历犰狳中sp_umat(即SpMat)的所有非零条目,并遇到了这个相关问题()。该帖子建议使用常量迭代器检索sp_mat中的非零位置和值。可以假设sp_mat(以及犰狳中其他相关类型的稀疏矩阵;sp_umat)的所有迭代器都只支持单独访问非零项的迭代器吗?我无法从文档中整理出这一点。另一个相关的问题也浮现在脑海中:一般来说,犰狳是否支持通过其他方式访问稀疏矩阵中的任何其他位置?非常感谢你的帮助 1)是的,稀疏对象的所有迭代器仅在非零位置上迭代。很抱歉,文档中没有明确说明,我会看

我想知道如何循环遍历犰狳中
sp_umat
(即
SpMat
)的所有非零条目,并遇到了这个相关问题()。该帖子建议使用
常量迭代器
检索
sp_mat
中的非零位置和值。可以假设
sp_mat
(以及犰狳中其他相关类型的稀疏矩阵;
sp_umat
)的所有迭代器都只支持单独访问非零项的迭代器吗?我无法从文档中整理出这一点。另一个相关的问题也浮现在脑海中:一般来说,犰狳是否支持通过其他方式访问稀疏矩阵中的任何其他位置?非常感谢你的帮助

1)是的,稀疏对象的所有迭代器仅在非零位置上迭代。很抱歉,文档中没有明确说明,我会看看是否可以改进

2) 是的,您可以使用
矩阵(i,j)
访问稀疏矩阵中的任何位置,就像密集矩阵一样。所以在这个意义上,稀疏矩阵和稠密矩阵是可以互换的