在C++中,我有一个函数应该将 vector 分成其最后一个元素和 vector 的其余部分。但是,我提出以下观察意见,无法解释:
function(vector<int> indeces){
// indeces = [1,2,3]
vector<int> indeces_ = indeces;
// indeces = [1,2,3] = indeces_
indeces_.pop_back();
// indeces = [1,2,3], indeces_ = [1,2]
// BUT: *indeces.end() != 3 but some unrelated integer
}
最佳答案
您的代码是错误的。您不能以这种方式使用end()
: