gpt4 book ai didi

C++ 泛型函数的灵活性

转载 作者:太空狗 更新时间:2023-10-29 23:50:16 24 4
gpt4 key购买 nike

我想制作灵活的泛型函数,它的返回值可以处理多个未知类型。

#include <iostream>

template<typename U, typename V>
U Max(U arg1, V arg2) {
return arg1 > arg2 ? arg1 : arg2;
}

using namespace std;
int main()
{
double x = 9.88;
int n = 8;
cout << Max(x, n) << endl; // output is 9.88
int z = 4;
double r = 5.88;
// output is 5 not 5.88, I want to code one function deal with all types.
cout << Max(z, r) << endl;
return 0;
}

最佳答案

您可以使用 std::common_type ,

template<typename U,typename V>
typename std::common_type<U, V>::type
Max(U arg1, V arg2){
return arg1 > arg2 ? arg1 : arg2;
}

关于C++ 泛型函数的灵活性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32702107/

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