C++ find 的使用

find 是algorithm 库中的函数,所以使用的使用要引起该库

find的用法

1 查找指定的元素,默认是首次,若找到返回首次出现的坐标,找不到返回npos

2 从指定的位置之后开始查找,类1 类似,

3 容器内查找指定的元素,查找成功返回一个指向指定元素的迭代器,查找失败返回end迭代器

demo 演示

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

void test1(){
     string str = "hello";
     string str1 = "l";
     string str2 = "z";
     // 若包含返回首次出现的坐标
     cout << str.find(str1) <<endl;
     // 若不包含返回string::npos
     cout << str.find(str2) <<endl;


}

void test2(){
     string str = "abcabcabc";
     string str1 = "c";
     // 从第几个元素开始查找,下面就是从第四个元素开始查找首次出现c的位置
     cout << str.find(str1,4) << endl;

}

void test3(){
      // 容器内查找指定的元素
      vector<int> ve = {10,20,30,40};
      if (find(ve.begin(),ve.end(),30) != ve.end())
      {
           cout<<"YES"<< endl;
      }
}

int main()
{

      test1();
      test2();
      test3();
     
}

打印结果

 需要注意的就是test3()

就是vector 中begin 和end 是向量中的首个和最后一个元素的引用,不是元素,

可以理解过从头到尾的迭代,中查找30 ,如果成功返回30的迭代器,不成功就返回end的迭代器.

如果想打印30的迭代器,可以打印指针

猜你喜欢

转载自blog.csdn.net/qq_33210042/article/details/130926970