Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用tempate查找最多多个数字?_C++_Templates - Fatal编程技术网

C++ 如何使用tempate查找最多多个数字?

C++ 如何使用tempate查找最多多个数字?,c++,templates,C++,Templates,我应该如何编写一个模板类来查找最多几个数字 它应该是这样工作的: Maximum<5,4,3>::value == 5 Maximum<12,4,3>::value == 12 Maximum<5,4,3,23,2,3,34,343,3434,343,6,56,45,456,2>::value == 3434 最大::值==5 最大::值==12 最大::值==3434 试试看 模板 最高等级: 公共最大值{}; 模板 最高等级: 公共积分_常数{}; 在

我应该如何编写一个模板类来查找最多几个数字

它应该是这样工作的:

Maximum<5,4,3>::value == 5
Maximum<12,4,3>::value == 12
Maximum<5,4,3,23,2,3,34,343,3434,343,6,56,45,456,2>::value == 3434
最大::值==5
最大::值==12
最大::值==3434
试试看

模板
最高等级:
公共最大值{};
模板
最高等级:
公共积分_常数{};
在线

更新

第一个类是接受三个或更多整数的泛型类。然后,它将找到前两个输入中的最大值,然后递归地继承第一个模板参数为所述最大值的位置。执行此操作直到只剩下两个模板参数

第二个类只接受两个模板参数。然后它会找到其中的最大值。它继承定义成员
值的属性

对于第二个类,我们需要编写
class maximum
,因为它是第一个类的专用版本,即只需要两个输入

试试看

模板
最高等级:
公共最大值{};
模板
最高等级:
公共积分_常数{};
在线

更新

第一个类是接受三个或更多整数的泛型类。然后,它将找到前两个输入中的最大值,然后递归地继承第一个模板参数为所述最大值的位置。执行此操作直到只剩下两个模板参数

第二个类只接受两个模板参数。然后它会找到其中的最大值。它继承定义成员
值的属性


对于第二个类,我们需要编写
class maximum
,因为它是第一个类的专用版本,即只需要两个输入

使用C++14,您只需使用:

包装到结构中:

template <int... ints>
struct maximum {
    static constexpr int value = std::max({ints...});
};
模板
结构最大值{
静态constexpr int value=std::max({ints…});
};

使用C++14,您只需使用:

包装到结构中:

template <int... ints>
struct maximum {
    static constexpr int value = std::max({ints...});
};
模板
结构最大值{
静态constexpr int value=std::max({ints…});
};

不可能。没有像
==
这样的语法。对不起,由于太多的js编码而导致了错误的习惯。对不起:(谢谢:)还有,你试过什么?你有没有在某些方面失败过?用清晰的问题陈述来展示研究成果(可能失败的尝试)的答案往往会吸引更多的爱和选票。为什么不直接使用
std::max
?不可能。没有像
==
这样的语法。对不起,由于太多的js编码而导致了错误的习惯。对不起:(谢谢:)还有,你试过什么?你有没有在某些方面失败过?用清晰的问题陈述来展示研究成果(可能是失败的尝试)的答案往往会吸引更多的爱和支持。为什么不直接使用
std::max
?请解释一下。或者你可以给我一些链接,这样在阅读之后,我可以理解这一点。为什么在某些地方它像“最大值”,而在某些地方它像“最大值”?积分常数在那里做什么?从何处以及如何执行::value?\请解释一下。或者你可以给我一些链接,这样在阅读之后,我可以理解这一点。为什么在某些地方它像“最大值”,而在某些地方它像“最大值”?积分常数在那里做什么?从何处以及如何执行::value?\这一个很好。元编程不再是过去的样子:-)这一个很好。元编程不再是过去的样子:-)
template <int... ints>
struct maximum {
    static constexpr int value = std::max({ints...});
};