看板 C_and_CPP 關於我們 聯絡資訊
想請教 C++ 的 priority_queue 當中 top() 和 front() 這兩個 member function 有什麼差異嗎? 看起來 top() 只是直接呼叫 front() ? 今天被人一問才突然發現, 雖然兩種函式我都用過,但是我完全沒發現原來是有兩種函式可以用... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.225.136.125 ※ 編輯: DJWS 來自: 36.225.136.125 (12/22 17:06)
loveme00835:Any sequence container with random access iterator 12/22 17:20
loveme00835:operations front(), push_back() and pop_back() can 12/22 17:21
loveme00835:be used to instantiate priority_queue. 12/22 17:21
loveme00835:這句話的意思是說 priority_queue 會用到模板的第二型 12/22 17:23
loveme00835:別引數作為實作容器, 但是標準規定中並沒有指出須提供 12/22 17:25
loveme00835:front() 這個介面, 所以可能是你的STL實作中用到繼承 12/22 17:25
loveme00835:再將父類別介面expose出來, 雖然只是多了 top() 去呼 12/22 17:27
loveme00835:front(), 但是直接使用 front() 是較不具可攜性的作法 12/22 17:28
DJWS:謝謝板主回覆! 意思是說使用top()會比較好囉~ 12/23 00:50
loveme00835:yes 12/23 01:35