我們在c++中使用的find函式一般都是algorithm庫裡面提供的或者1. 容器裡面的find函式是stl容器裡面的find函式。今天就來總結一下他們的使用與區別
stl裡面容器除了vector其他常見的容器都有自己實現成員函式find,例如string中的find函式,string的find()函式用於找出字母在字串中的位置。
函式原型如下:
//(1)
size_type find (
const basic_string& str, size_type pos =0)
const noexcept;
//(2)
size_type find (
const chart* s, size_type pos =0)
const
;//(3)
size_type find (
const chart* s, size_type pos, size_type n)
const
;//(4)
size_type find (chart c, size_type pos =0)
const noexcept;
(1)(2)(4)的兩個引數:
第乙個引數就是你要查詢的元素,第二個引數就是字串中的某個位置,表示從從這個位置開始的字串中找指定元素。(如果不填這個引數也是可以的,預設從字串的首位置開始找)
對於(3)的三個引數:取第乙個引數的前n(第三個引數)個字元(相當於擷取了s的前n個字元)第二個引數就是指明從哪個位置開始找。
返回值:若查詢成功,返回按查詢規則找到的第乙個字元或子串的位置;若查詢失敗,返回npos,即-1(列印出來為4294967295)。
2. 演算法裡面的find函式
演算法庫裡面的查詢功能的相關函式
它是在範圍內尋找元素,它返回乙個迭代器,該迭代器[first,last)比較等於val的範圍內的第乙個元素。找到返回的是該元素的迭代器,如果找不到這樣的元素,則函式返回last(就是個迭代器)。該函式實現原理就是用operator==將各個元素與val進行比較。具體實現如下:
template
inputiterator find (inputiterator first, inputiterator last,
const t& val)
return last;
}
c 中find函式的用法
1,返回字元 字串 在原來字串的中首次出現的下標位置 例 string s 1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i position s.find jk 2,返回flag 中任意字元 在s 中第一次出現的下標位置 flag c position s.find fi...
c 中find函式的用法
find函式主要實現的是在容器內查詢指定的元素,並且這個元素必須是基本資料型別的。查詢成功返回乙個指向指定元素的迭代器,即元素在容器中的下標,查詢失敗返回end迭代器。標頭檔案 include 函式實現 templateinputiterator find inputiterator first,i...
c 中find函式解析
總述 以下所講的所有的string查詢函式,都有唯一的返回型別,那就是size type,即乙個無符號整數 按列印出來的算 若查詢成功,返回按查詢規則找到的第乙個字元或子串的位置 若查詢失敗,返回npos,即 1 列印出來為4294967295 1.fine 原型 string 1 size typ...