我有一个矩阵类,将其数据存储在std::vector
:
std::vector<double> mData(mRows*mCols);
该类具有从该矩阵中提取列的方法:
std::vector<double> matrix::getCol(const int &n) const
{
std::vector<double> Col(mRows);
for(int ii = 0; ii < mRows; ii++)
{
Col[ii] = mData[n*mRows + ii];
}
return Col;
}
我想让这个方法返回对向量的引用,该向量是mData
. 这样的事情可能吗?
std::vector<double>& matrix::getCol(const int &n)
{
std::vector<double> Col(mRows);
&Col[0] = &mData[n*mRows];
return Col;
}
我对此感兴趣的原因是我想在分配中使用这种方法:
matrix A(rows,cols);
std::vector<double> newCol(rows);
A.getCol(0) = newCol;