集或地圖排序謂語必須有一個簡單的答案,這...如何適應平凡的指針
我有一個std ::設置或一個std ::地圖或具有自然一些對象類型訂購 - 說std :: less。
我需要改變我的集合或映射到包含代替T.
副本的shared_ptr所以,我想是這樣的:
using my_set std::set<std::shared_ptr<T>, std::less<*T>>;
但我畫一個空白爲如何指定「在T的____適配器上使用較少的適配器,以便它在解除引用的成員上,而不是在shared_ptrs上!」
是否有std::less<std::dereference<std::shared_ptr<T>>>
等價物?
寫一個自定義比較器? – NathanOliver
絕對可以做到這一點。我的問題是:是不是有一個標準的適配器?它必須達到一噸! – Mordachai
不確定,因爲比較函數必須採用指針類型爲「T」。類似'std :: less >>'會期望'T'。 –
NathanOliver