[C++] 원하는 값 찾기 std::find()

bolee·2022년 11월 26일
0

C++

목록 보기
2/16
post-thumbnail

std::find()

#include <algorithm>

template <class InputIterator, class T> InputIterator find(InputIterator first, InputIterator last, const T& val);

범위 안에 원하는 값을 찾는 함수이다.

범위 안 (first 부터 last 전 까지) 의 원소들 중 val 과 일치하는 첫 번째 원소를 가리키는 반복자를 리턴한다.
만일 일치하는 원소를 찾지 못할 경우 last 를 리턴한다.
이 함수는 원소를 비교할 때 operator== 을 사용한다.

참고로 이 함수는 stringfind 메서드와는 다르다.

Parameters

Parametersdescription
first찾을 범위의 시작 iterator
last찾을 범위의 마지막 iterator
last가 가리키는 원소는 포함되지 않는다.
val비교할 값. 이 때, val 의 타입이 T 일 경우 operator== 가 정의되어 있어야 한다.

Return value

첫 번째로 일치하는 원소를 가리키는 iterator
일치하는 원소가 없을 경우 last 가 반환된다.


Example

#include <algorithm>  // std::find
#include <iostream>   // std::cout
#include <vector>     // std::vector

using namespace std;

int main() {
  int myints[] = {10, 20, 30, 40};
  int* p;

  p = find(myints, myints + 4, 30);
  if (p != myints + 4)
    cout << "Element found in myints: " << *p << '\n';
  else
    cout << "Element not found in myints\n";

  vector<int> myvector(myints, myints + 4);
  vector<int>::iterator it;

  it = find(myvector.begin(), myvector.end(), 30);
  if (it != myvector.end())
    cout << "Element found in myvector: " << *it << '\n';
  else
    cout << "Element not found in myvector\n";

  return 0;
}

Output

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

참고 자료

0개의 댓글