Dav*_*one 10 c++ language-lawyer c++14
std::less<T *> 无论两个指针是否指向同一个数组,都保证提供总顺序.
在标准的最新草案中,对于透明函数object std::less<void>(std::less<>)调用它时是否也是如此operator()?
显然,同样的问题适用于std::greater,但我认为它们的具体情况相同.
来自github的当前草案不包含任何语言; 实际上,它的定义less<>明确表示"返回std::forward<T>(t) < std::forward<U>(u)",这对于无法比较的指针来说是未定义的行为.所以......我想,不要这样做.
如果你需要一个异构指针比较器,最好编写自己的模板谓词,std::less<T*>()在适当的时候使用它.
| 归档时间: |
|
| 查看次数: |
856 次 |
| 最近记录: |