gpt4 book ai didi

c++ - 如何实例化和使用 std::less 特化对象

转载 作者:行者123 更新时间:2023-11-28 05:10:24 27 4
gpt4 key购买 nike

这是来自测试。任务:制作一个行为与 std::less 完全相同的通用函数对象,除了它总是返回 true。和给定的解决方案:

template<class T>
struct myless : less<T> {
bool operator(T, T) const { return true; }
};

如何实例化和使用?

最佳答案

换另一所学校。提供的解决方案包含 2 行是正确的。他们是 template<class T>}; ;我会在代码审查中拒绝的所有其他内容。

template<class T>
struct myless {
bool operator(T const&, T const&) const { return true; }
};

这至少对了一半。对于 C++14,您还需要

template<>
struct myless<void> {
using is_transparent=void;
template<class T, class U>
bool operator(T const&, U const&) const { return true; }
};

在标准库中使用它很困难,因为它们都需要你的 myless 的公理不满足。

您通过 my_less<int>() 创建它.然后,您将该对象传递给两个 int通过 另一()

关于c++ - 如何实例化和使用 std::less 特化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43648030/

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