摘要:STL算法部分提供了一個非常實用的算法:依值尋找算法,這就是本文將要介紹的std::find算法。本算法接受一對輸入迭代器,和一個給定的值,并返回在迭代器之間發(fā)現(xiàn)的第一個與給定值相等的迭代器。
它與所有的STL算法一樣,是一個模板函數(shù),它的原型如下:
在區(qū)間 [first, last) 里查找值為 value 的對象。
參數(shù):本算法的功能是在區(qū)間里查找給定值,所以它的參數(shù)無疑是:給定區(qū)間和給定值。區(qū)間通過兩個向前迭代器指出,而值通過一個只讀引用給出。原型中的 first 和 last 分別為區(qū)間的起始與終點,find 在區(qū)間 [first, last) 上查找值與 value 相等的對象。
返回值:如果找到與 value 值相等的對象,則返回指向該對象的迭代器;如果沒有找到這樣的一個對象,則返回迭代器 last。
本算法簡單明了,本可以不用示例,但此處仍提供一個簡單示例。本示例在一個整形數(shù)組里查找一個指定整數(shù)。
在查找的過程隱含對對象的比較,因此迭代器返回的值類型至少應(yīng)該與 value 可以進行相等比較,否則程序無法通過編譯,并因此而產(chǎn)生許多編譯時錯誤消息。
聯(lián)系客服