我是一个新的C++学习者,我读了一个关于C++ STL访问向量中最后一个元素的代码块.
为什么第6,7和8行的代码需要减去1以等于第5行的代码?
1. std::vector<int> v;
2. v.push_back(999);
3. //fill up the vector
4. //...
5. int j = v.back();
6. int j = v.[size-1]
7. int j = v.at(v.size()-1)
8. int j = *(v.end()-1)
Run Code Online (Sandbox Code Playgroud) 有人会举一个"可修改的右值"的例子吗?我的理解是rvalue出现在表达式"="的右侧.我测试了以下示例,但我不确定它是否解释了"可修改的rvalue"
int i=1
int &j = i;
j=2; //cout: i == 2,
Run Code Online (Sandbox Code Playgroud)