在C++11及之后的版本中,可以使用auto关键字来指定通用返回类型,编译器会根据初始化表达式的类型自动推断返回类型。下面是一个使用auto来指定通用返回类型的示例代码:
#include
template
auto add(T1 a, T2 b) -> decltype(a + b) {
return a + b;
}
int main() {
int a = 5;
double b = 3.14;
auto result = add(a, b);
std::cout << "Result: " << result << std::endl;
return 0;
}
在上面的代码中,add函数使用了auto关键字来指定返回类型。编译器会根据a + b的类型来推断返回类型。在main函数中,我们调用add函数并将返回值赋给result变量,然后输出结果。
在这个例子中,由于a的类型是int,b的类型是double,因此a + b的类型会被推断为double,所以result的类型也是double。
总结起来,使用auto关键字可以根据初始化表达式的类型来推断返回类型,从而实现通用返回类型的指定。