首頁 >後端開發 >C++ >如何在 C `std::map` 中有效地使用 `char*` 作為鍵?

如何在 C `std::map` 中有效地使用 `char*` 作為鍵?

Patricia Arquette
Patricia Arquette原創
2024-12-23 17:52:14433瀏覽

How Can I Use `char*` Effectively as Keys in a C   `std::map`?

有效地使用char* 作為std::map 鍵

在C 中,使用char* 作為std::map 中的鍵可以構成挑戰。考慮以下嘗試尋找未使用的玩家名稱的程式碼片段:

此程式碼可能無法如預期執行,因為std::map 中char* 的預設比較是比較指標本身,而不是實際的指標它們指向的以null 結尾的字串。

要解決此問題,您必須為地圖提供比較函子。該函子應該比較 char* 鍵指向的字串。以下是一個範例:

透過合併 cmp_str 函子,映射現在會比較實際的字串,從而允許預期的邏輯正確運作。

請記住,此技術適用於以下情況的任何場景:您打算使用指標作為 std::map 中的鍵。透過提供比較函子,您可以確保映射按需要運行,比較指標表示的實際值。

以上是如何在 C `std::map` 中有效地使用 `char*` 作為鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn