std::vector函数集合
时间: 2024-03-02 13:44:25 浏览: 21
std::vector 是 C++ STL 中的一个容器,提供了动态数组的功能。以下是一些常用的 std::vector 函数:
1. push_back():在 vector 的末尾添加一个元素。
2. pop_back():删除 vector 的末尾元素。
3. size():返回 vector 中元素的个数。
4. empty():判断 vector 是否为空。
5. clear():清空 vector 中的所有元素。
6. front():返回 vector 的第一个元素。
7. back():返回 vector 的最后一个元素。
8. insert():在指定位置插入一个或多个元素。
9. erase():删除指定位置的一个或多个元素。
相关问题
std::vector<std::string> 截取字符串到结尾
std::vector<std::string> 是C++标准库中的容器,用于存储一组字符串。你可以使用它来动态地管理字符串的集合,并且可以方便地进行插入、删除和访问操作。
要截取字符串到结尾,你可以使用std::string的substr函数来实现。substr函数接受两个参数,第一个参数是起始位置的索引,第二个参数是要截取的子字符串的长度。如果只指定起始位置而不指定长度,则截取从起始位置到字符串结尾的所有字符。
下面是一个示例代码,演示了如何将一个字符串截取为多个子字符串,并将它们存储在std::vector<std::string>中:
```cpp
#include <iostream>
#include <vector>
#include <string>
int main() {
std::string str = "Hello, world! This is a test string.";
std::vector<std::string> substrings;
// 截取字符串到结尾
while (!str.empty()) {
substrings.push_back(str);
str = str.substr(1); // 从索引1开始截取到结尾
}
// 输出截取后的子字符串
for (const auto& substring : substrings) {
std::cout << substring << std::endl;
}
return 0;
}
```
运行上述代码,你将得到以下输出:
```
Hello, world! This is a test string.
ello, world! This is a test string.
llo, world! This is a test string.
lo, world! This is a test string.
o, world! This is a test string.
, world! This is a test string.
world! This is a test string.
world! This is a test string.
orld! This is a test string.
rld! This is a test string.
ld! This is a test string.
d! This is a test string.
! This is a test string.
This is a test string.
This is a test string.
his is a test string.
is is a test string.
s is a test string.
is a test string.
is a test string.
s a test string.
a test string.
a test string.
test string.
test string.
est string.
st string.
t string.
string.
string.
tring.
ring.
ing.
ng.
g.
.
```
std::equal
**std::equal 是C++标准库中的一个算法,用于比较两个序列的元素是否相等。**
std::equal() 函数的基本用途是比较两个序列(通常是容器中的元素)是否相等。这个函数接受两组迭代器作为参数,分别指向两个序列的起始位置和结束位置。它会逐个比较两个序列中对应位置的元素,如果所有对应元素都相等,则返回 true;否则返回 false。
在使用 std::equal 时,您需要注意以下几点:
1. 确保两个序列的长度相同,否则结果可能会出现未定义的行为。
2. 如果需要自定义比较逻辑,可以提供一个谓词函数(predicate),该函数接受两个参数并返回一个布尔值,用于指示这两个元素是否应该被视为相等。
3. std::equal() 函数通常用于检查排序后的序列是否相同,或者在查找特定元素时判断两个序列是否匹配。
以下是 std::equal() 函数的一些典型用法:
- 比较两个数组或容器(如 vector、list)中的元素是否完全相同。
- 检查排序后的两个序列是否有相同的元素集合。
- 在搜索算法中,判断目标序列是否与给定序列匹配。
如果您想要了解更多关于 std::equal 的信息,可以参考 C++ 标准库文档或相关的编程教程。这些资源通常会提供详细的函数说明和使用示例,帮助您更好地理解和运用这一函数。