【发布时间】:2016-02-18 19:36:04
【问题描述】:
我目前正在编写模板矩阵。 矩阵有一个
vector<vector<T>> names mat, and contains the vectors size (rows and cols).
如何构建一个迭代向量向量的 const 函数?
注意:我需要构建一个
typedef typename std::vector<T>::const_iterator const_iterator
我问的是如何构建迭代器函数,而不是如何使用迭代器。
到目前为止,这就是我所拥有的:
typedef typename std::vector<T>::const_iterator const_iterator;
const_iterator end()
{
return mat[rowsNum][colsNum];
}
const_iterator begin()
{
return mat[0][0];
}
之前尝试过: typedef typename std::vector::const_iterator const_iterator;
const_iterator end()
{
return mat.end;
}
const_iterator begin()
{
return mat.begin;
}
-- 编辑-- 目前,我的代码如下所示:
template<class T>
class Matrix
{
private:
...
public:
...
typedef typename std::vector<T>::const_iterator const_iterator;
const_iterator end()
{
return mat[rowsNum][colsNum];
}
const_iterator begin()
{
return mat[0][0];
}
}
}
就是这样。 有问题吗?
【问题讨论】:
-
呸。锯齿状边缘“矩阵”的另一种实现方式,其内存被分配到各处。每次我看到这些东西之一,我都会在内心深处死去。