集或地图排序谓语必须有一个简单的答案,这...如何适应平凡的指针
我有一个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