在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():

10-08 02:56