c++find函数
时间: 2023-11-25 14:08:20 浏览: 38
C++ 中的 `find()` 函数是在一个容器中查找指定元素的函数。它可以用于许多不同的容器,如 vector、list、set 等。
`find()` 函数通常的用法是:
```c++
auto it = std::find(container.begin(), container.end(), value);
```
其中,`container` 是容器对象,`begin()` 和 `end()` 是容器的迭代器,`value` 是要查找的值。`find()` 函数返回一个迭代器,指向第一个匹配 `value` 的元素,如果没有找到,则返回容器的 `end()` 迭代器。
示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> v{1, 2, 3, 4, 5};
auto it = std::find(v.begin(), v.end(), 3);
if (it != v.end()) {
std::cout << "Found " << *it << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
return 0;
}
```
输出为:
```
Found 3
```
相关问题
c++ find函数
在C++的STL库中,有很多用于字符串操作的函数。其中,find()函数用于查找某个字符或子串在字符串中的位置。 find()函数是全匹配的,也就是说它会查找完整的子串,并返回第一次匹配到的位置。如果找到了匹配的子串,它会返回子串在字符串中的起始位置;如果找不到匹配的子串,它会返回-1。 具体使用方法可以参考以下示例代码:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1 = "adedef";
string s2 = "dek";
int ans = s1.find(s2); //在s1中查找子串s2
cout << ans << endl;
return 0;
}
在上述代码中,s1.find(s2)的返回值即为子串s2在s1中第一次出现的位置。如果找不到匹配的子串,返回-1。
c++ find函数用法
C++中的find函数用于在一个容器中查找指定元素的位置。其基本语法如下:
```c++
iterator find(iterator first, iterator last, const T& value);
```
其中,`first`和`last`分别是表示容器中查找范围的迭代器,`value`则是待查找的元素。该函数会返回一个指向第一个匹配元素的迭代器,如果找不到匹配元素,则返回`last`。
例如,可以使用以下代码在vector容器中查找元素5的位置:
```c++
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = std::find(vec.begin(), vec.end(), 5);
if (it != vec.end()) {
std::cout << "Found element at position: " << std::distance(vec.begin(), it) << std::endl;
} else {
std::cout << "Element not found" << std::endl;
}
```
输出结果为:
```
Found element at position: 4
```
需要注意的是,`find`函数只适用于支持随机访问的容器,例如vector、deque、array等,对于其他容器,如list、set、map等,可以使用成员函数`find`来进行查找。