gpt4 book ai didi

c++ - std::greater{} 和 std::greater() 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 11:51:26 28 4
gpt4 key购买 nike

有些人写

std::nth_element(v.begin(), v.begin()+1, v.end(), std::greater{});
还有一些是这样写的
std::nth_element(v.begin(), v.begin()+1, v.end(), std::greater<int>());
std::greater{}之间有什么区别和 std::greater<int>() ?

最佳答案

这是 C++14 的新功能,这导致了两个完全不同的类。
在 C++14 中,std::greater为其模板参数获取默认值:void .
您最终会得到 std::greater<void>std::greater<int> .std::greater<void>so-called "transparent" comparator 的特化推导出其参数,请参阅其引用以获取更多信息。

关于c++ - std::greater{} 和 std::greater<int>() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68984321/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com