我到处都读到back()函数返回对最后一个元素的引用,但是我对此表示怀疑。
我创建了一个包含元素1,3,5的向量,然后编写了以下代码
int i = v.back();
i++;
在以上两个语句之后,我打印了向量,并得到了输出1 3 5
而当我增加参考值时,它应该是1 3 6。
但是当我做(v.back())++然后打印向量的值时,我得到了结果
1 3 6
我不了解输出的差异,据我说应该是一样的。
如果我错了,请纠正我。
最佳答案
该代码不会通过引用增加最后一个元素,而是增加了最后一个元素的副本。改成:
int& i = v.back();
i++;
关于c++ - STL中的后退功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11359297/