C map注意事項

2021-08-09 12:18:26 字數 695 閱讀 1491

1、在map中,由key查詢value時,首先要判斷map中是否包含key。

2、如果不檢查,直接返回map[key],可能會出現意想不到的行為。如果map包含key,沒有問題,如果map不包含key,使用下標有乙個危險的***,會在map中插入乙個key的元素,value取預設值,返回value。也就是說,map[key]不可能返回null。

3、map提供了兩種方式,檢視是否包含key,m.count(key),m.find(key)。

4、m.count(key):由於map不包含重複的key,因此m.count(key)取值為0,或者1,表示是否包含。

5、m.find(key):返回迭代器,判斷是否存在。

6、對於下面的場景,存在key就使用,否則返回null,有下面兩種寫法:

1

if(m.count(key)>0)2

5return

null;

1 iter =m.find(key);

2if(iter!=m.end())36

return

null;

這裡需要注意:前一種方法很直觀,但是效率差很多。因為前面的方法,需要執行兩次查詢。因此,推薦使用後一種方法。

7、對於stl中的容器,有泛型演算法find(begin,end,target)查詢目標,map還提供了乙個成員方法find(key)

C map注意事項

1 在map中,由key查詢value時,首先要判斷map中是否包含key。2 如果不檢查,直接返回map key 可能會出現意想不到的行為。如果map包含key,沒有問題,如果map不包含key,使用下標有乙個危險的 會在map中插入乙個key的元素,value取預設值,返回value。也就是說,...

C map注意事項

1 在map中,由key查詢value時,首先要判斷map中是否包含key。2 如果不檢查,直接返回map key 可能會出現意想不到的行為。如果map包含key,沒有問題,如果map不包含key,使用下標有乙個危險的 會在map中插入乙個key的元素,value取預設值,返回value。也就是說,...

C map注意事項

1 在map中,由key查詢value時,首先要判斷map中是否包含key。2 如果不檢查,直接返回map key 可能會出現意想不到的行為。如果map包含key,沒有問題,如果map不包含key,使用下標有乙個危險的 會在map中插入乙個key的元素,value取預設值,返回value。也就是說,...