两个参数都保证是整数。
我该如何编写 myMax:
myMax<1, 2>; // 2
myMax<3, 2>; // 3 ?
我希望它在编译时评估,而不是运行时。 (然后需要将它与 sizeof 一起用于类型列表,以便为变体分配空间。)
谢谢!
最佳答案
template <int x, int y>
struct myMax
{
static const int value = (x > y) ? x : y;
};
如果您打算仅将其用于大小,则可以使用 std::size_t
而不是 int
。
关于c++ - 如何编写一个给出两个参数最大值的 C++ 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2150902/