自定義map的value默認值

在使用map的[]操作符對其進行訪問時,如果map中尚沒有查詢的key值,則將創建一個新的鍵值對。其key值爲查詢的值,value值分爲以下兩種情況:

  1. value爲內置類型時,其值將被初始化爲0
  2. value爲自定義數據結構時,如果定義了默認值則初始化爲默認值,否則初始化爲0

使用第二種方法自定義map的value默認值

例如:
map的value爲int類型,key值也爲value類型,想要將value的默認值自定義爲1,可以定義一個只包含一個默認num值的結構體,將其作爲我們map的value值類型。

struct IntDefaultedToOne {
		int num = 1;
	};
map<int,IntDefaultToOne> mp;
cout<<map[0].num;                 //將輸出1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章