没讲的有多深入,只是发现一个有意思的事
stl中的find函数
参数:起始迭代器+终止迭代器+val(查询目标)
返回值为一个迭代器(如果是数组查询的话那就是地址)
string类中的find函数
string类中专门提供了find函数和rfind函数,rfind函数跟find函数用法基本一致,只是一个从左往右查第一次出现的位置,一个是从右往左查第一次出现的位置
基本用法:
查询字符串,参数:字符串+[起始位置] s.find(str,2);//表示从s串的第二个字符位置开始查询有没有str子串
查询字符,参数:字符 s.find(c);
有意思的是find函数的返回值,通常find会返回一个int型
如果未找到子串,如果你不用一个int型变量来接收那么输出出来的将会是一串乱码数字,如果拿int型变量来接收则会输出-1
string s = "hello world!"; int t = s.find("ggg"); cout << s.find("ggg") << '\n'<< t << endl;
输出结果:
不接收输出一串乱码数字,接收则输出-1