Movatterモバイル変換


[0]ホーム

URL:


cplusplus.com

Reference

<algorithm>

function template
<algorithm>

std::find

template <class InputIterator, class T>   InputIterator find (InputIterator first, InputIterator last, const T& val);
Find value in range
Returns an iterator to the first element in the range[first,last) that compares equal toval. If no such element is found, the function returnslast.

The function usesoperator== to compare the individual elements toval.

The behavior of this function template is equivalent to:
1
2
3
4
5
6
7
8
9
template<class InputIterator,class T>  InputIterator find (InputIterator first, InputIterator last,const T& val){while (first!=last) {if (*first==val)return first;    ++first;  }return last;}

Parameters

first, last
Input iterators to the initial and final positions in a sequence. The range searched is[first,last), which contains all the elements betweenfirst andlast, including the element pointed byfirst but not the element pointed bylast.
val
Value to search for in the range.
T shall be a type supporting comparisons with the elements pointed byInputIterator usingoperator== (with the elements as left-hand side operands, andval as right-hand side).

Return value

An iterator to the first element in the range that compares equal toval.
If no elements match, the function returnslast.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// find example#include <iostream>// std::cout#include <algorithm>// std::find#include <vector>// std::vectorint main () {// using std::find with array and pointer:int myints[] = { 10, 20, 30, 40 };int * p;  p = std::find (myints, myints+4, 30);if (p != myints+4)    std::cout <<"Element found in myints: " << *p <<'\n';else    std::cout <<"Element not found in myints\n";// using std::find with vector and iterator:  std::vector<int> myvector (myints,myints+4);  std::vector<int>::iterator it;  it = find (myvector.begin(), myvector.end(), 30);if (it != myvector.end())    std::cout <<"Element found in myvector: " << *it <<'\n';else    std::cout <<"Element not found in myvector\n";return 0;}

Output:
Element found in myints: 30Element found in myvector: 30


Complexity

Up to linear in thedistance betweenfirst andlast: Compares elements until a match is found.

Data races

Some (or all) of the objects in the range[first,last) are accessed (once at most).

Exceptions

Throws if either an element comparison or an operation on an iterator throws.
Note that invalid arguments causeundefined behavior.

See also

search
Search range for subsequence(function template)
binary_search
Test if value exists in sorted sequence(function template)
for_each
Apply function to range(function template)
Home page |Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved -v3.3.4s
Spotted an error? contact us

[8]ページ先頭

©2009-2026 Movatter.jp