std::vector back
时间: 2023-10-17 08:25:29 浏览: 39
`std::vector` 是C++标准库中的一个容器类,用于存储动态大小的元素序列。`back()` 是一个成员函数,用于返回容器中最后一个元素的引用。
例如,以下是使用 `std::vector` 的示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> myVector {1, 2, 3, 4, 5};
int lastElement = myVector.back();
std::cout << "The last element is: " << lastElement << std::endl;
return 0;
}
```
输出结果将是:
```
The last element is: 5
```
以上代码中,我们创建了一个包含整数元素的 `std::vector` 对象 `myVector`。然后,我们使用 `back()` 函数获取最后一个元素,并将其存储在变量 `lastElement` 中。最后,输出结果显示了最后一个元素的值为 `5`。
相关问题
std::vector 分割 std::vector 子集
std::vector是C++标准库中的一个容器类,它可以动态地调整存储空间大小,并且能够自动处理内存分配和释放。对于分割std::vector成子集,我们可以使用vector的迭代器和算法库中的函数来实现。以下是分割std::vector的两种常用方法:
方法一:使用std::partition函数将vector分割成两个子集,满足某个特定的条件
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8};
auto it = std::partition(vec.begin(), vec.end(), [](int i){return i%2==0;});
std::vector<int> even_vec(vec.begin(), it);
std::vector<int> odd_vec(it, vec.end());
for(auto i : even_vec)
std::cout << i << " ";
std::cout << std::endl;
for(auto i : odd_vec)
std::cout << i << " ";
std::cout << std::endl;
return 0;
}
```
方法二:使用std::copy_if函数将vector中满足某个特定条件的元素复制到另一个vector中
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8};
std::vector<int> even_vec;
std::copy_if(vec.begin(), vec.end(), std::back_inserter(even_vec), [](int i){return i%2==0;});
std::vector<int> odd_vec;
std::copy_if(vec.begin(), vec.end(), std::back_inserter(odd_vec), [](int i){return i%2!=0;});
for(auto i : even_vec)
std::cout << i << " ";
std::cout << std::endl;
for(auto i : odd_vec)
std::cout << i << " ";
std::cout << std::endl;
return 0;
}
```
std::vector .back
std::vector.back() 是一个函数,它返回 vector 容器中最后一个元素的引用。如果 vector 容器为空,则该函数的行为是未定义的。
例如,以下代码演示了如何使用 std::vector.back() 函数:
```
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::cout << vec.back() << std::endl; // 输出 5
vec.back() = 6;
std::cout << vec.back() << std::endl; // 输出 6
return 0;
}
```
在上面的代码中,我们首先创建了一个包含整数 1 到 5 的 vector 容器。然后,我们使用 vec.back() 函数输出了容器中的最后一个元素,即 5。接下来,我们将最后一个元素的值更改为 6,并再次使用 vec.back() 函数输出了容器中的最后一个元素,即 6。