我有一個矩陣類,其存儲在一個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;