我可以使用const char *作爲關鍵字的boost :: multimap嗎?或者其他指針有鑰匙?指針作爲multimap中的鍵
我認爲這很好。但是當我這樣做後,我插入後無法找到我的值。但是當我改變他們關鍵到一個std ::字符串它工作正常。起初我不明白。
我想過了,這就是我認爲的解釋。
當我有一個char *作爲鍵時,它將意味着該值映射到某些內存地址的值,如「0xccbbee」作爲鍵(如鍵(0xccbbee) - > value(1))。所以提取的價值,我會需要發送「0xccbbee」得到值1,我不會做。
我會嘗試通過使用存儲位置中存在的鍵(也許它是「HELLO」)來嘗試獲取值,並嘗試將值映射到「HELLO」,我什麼也得不到。這是問題嗎?
我的理解是否正確。請讓我知道我的理解是否正確。我在嘗試學習。
TIA
-R
請製作一個測試用例。直覺:你使用字符串作爲鍵,並且不能保證產生相同的地址。 – krzaq