[英]How can I modify elements of a vector of vectors (with auto iterator)?
我是 STL 的新手(我也不是專業的編碼員),我在嘗試使用自動迭代器修改 Matrix 的元素時遇到問題......我嘗試了許多不同的方法(也參考為你可以看到)但我仍然無法掌握數據。 下面的代碼是我正在嘗試做的......
for (auto & e : D.getMat())
{
for (auto & i : e)
{
i = 3;
}
}
D 是我的 class “矩陣”的 object,getMat 是:
vector<vector<int>> getMat();
這就是它的作用:
vector<vector<int>> Matrix::getMat()
{
return _mat;
}
_mat 是私有的並聲明為:
vector<vector<int>> _mat;
請原諒我的無知,但我正在這個世界上邁出第一步。
getMat()
按值返回,因此它返回數據成員_mat
的副本,對副本的任何修改都與原始_mat
。
將其更改為按引用返回。 例如
vector<vector<int>>& Matrix::getMat()
// ^
{
return _mat;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.