1. `front()` 和 `back()` 不会删除元素
`front()` 方法返回的是 `std::vector` 首个元素的引用,`back()` 方法返回的是 `std::vector` 最后一个元素的引用,它们都不会删除对应的元素。
2. `front()` 和 `back()` 返回的是引用
这两个方法返回的是对应元素的引用,而非副本。这意味着你可以借助返回的引用对 `std::vector` 里的元素进行修改。
下面是示例代码:
cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 使用 front() 获取第一个元素的引用
int& first = numbers.front();
// 使用 back() 获取最后一个元素的引用
int& last = numbers.back();
// 修改第一个元素
first = 10;
// 修改最后一个元素
last = 50;
// 输出修改后的 vector
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
在上述代码中,`first` 和 `last` 分别是 `numbers` 中第一个和最后一个元素的引用,通过修改 `first` 和 `last` 的值,就能直接改变 `numbers` 里对应元素的值。运行代码后,输出结果为:
10 2 3 4 50
这就表明 `front()` 和 `back()` 返回的是引用,而非副本,并且这两个方法不会删除元素。