char 做map 的KEY的思考

2021-09-02 09:14:00 字數 499 閱讀 7317

很明顯的道理,不要簡單從字面上的東西去理解,雖然char*可以指向字串,但它畢竟只是乙個指標,指標存放的內容只能是位址,請謹記。 而string是乙個物件,當傳遞乙個常量字串(例如"abc")進來時,可以通過string的建構函式自動將該常量字串轉換為乙個string物件。 如果把該常量字串賦值給char*型別,就如同char* p = "abc"; 這個時候p只是乙個指向"abc"的首位址的指標而已

2種修改方式

i[cpp]view plain

copy

mapactorcache;   ii

from

[cpp]view plain

copy

struct

ptrcmp  

};  

map*, int

, ptrcmp> mapstr;  

總結:首先考慮用i,如果確實對效能要求比較高的在考慮ii

map的key是vector容器

東東在一本古籍上看到有一種神奇數,如果能夠將乙個數的數字分成兩組,其中一組數字的和等於另一組數字的和,我們就將這個數稱為神奇數。例如242就是乙個神奇數,我們能夠將這個數的數字分成兩組,分別是以及,而且這兩組數的和都是4.東東現在需要統計給定區間中有多少個神奇數,即給定區間 l,r 統計這個區間中有...

不能更改map 中key的屬性

根據前面兩篇的介紹,我們知道了hashmap底層存放和查詢元素的方式,因此得出了不能更改map 中key值的屬性 當然是指重寫了equals和hashcode的情況下 還是使用前面的address類 public static void main string args 更改了屬性值之後當前存放的k...

byte 陣列作為map的key的問題

今天coding的時候,用到了byte陣列作為hashmap的key值,測試的時候,發現不能夠根據相同的byte,得到相應的value值,google了一下,發現,byte陣列作為key值,只是陣列的位址的引用的hashcode,不能夠根據byte陣列的內容來,建立相應的hashcode,也就是所謂...