1. 開頭引標頭檔案:中的函式
其呼叫形式為
find(start,end,value)
start搜尋的起點,end搜尋的終點,要尋找的value值; 如果沒有找到,則返回end。函式的返回值為迭代器或指標,就是位置資訊。
容器的表示方法
find(a.begin(),a.end(),value)
所有的返回,均是迭代器(容器)或指標(陣列),而非是直觀感覺上的索引下標。如果在查詢範圍內不存在,返回a.end(),這裡需要注意的是,a.end()不在查詢範圍內。
2、各個容器自己實現的成員函式
vector沒有實現find函式,除此之外,常見容器都實現了自己的find函式。
string是這一種順序儲存結構,其find函式返回的是下標索引。set,map,multiset,multimap都不是順序索引的資料結構,所以返回的是迭代器。
3、如果元素不在
對於返回迭代器的查詢,通過判斷find(a.begin(),a.end(),value)==a.end(),來判斷元素是否存在
對於string,通過a.find(val)==string::npos判斷
C STL的兩種find()函式的使用
使用方法 find begin,end,value 解釋 第乙個引數是容器或者陣列的起始位址 容器.begin 或者陣列名 也可以是任意位址,不非法即可 第二個引數是結束查詢的位址 容器.end 或者陣列名 長度 value是想要查詢的字元或者字串。查詢成功將返回迭代器 容器 或者指標 陣列 否則返...
兩種if判斷
上海面試三 下面是c語言中兩種if語句判斷方式。請問哪種寫法更好?為什麼?int a if a1 第一種判斷方式 if 1a 第二判斷方式 答 這是個主觀題,不過多數人認為第二種好。從執行效率上講,第二種效率更高。另外,在編寫 時如果不小心將 寫成 即變成 1 a 這時編譯器將會給出錯誤提示。而如果...
mysql的兩種引擎 mysql的兩種儲存引擎
背景 最近在使用spring data jpa操作mysql,在使用jpa的自動建表功能之後,處理多對多關係 manytomany的時候,spring data jpa會給中間表的兩個欄位都加上外來鍵引用。當前使用的版本預設的資料庫儲存引擎為myisam。這種儲存引擎是為資料庫查詢效能而生的,不支援...