C++:auto和decltype返回类型后置

为什么要有后置类型? 是为了解决函数返回值类型依赖于参数而导致难以确定返回值类型的问题。

#include<iostream>

using namespace std;
 
template <typename T, typename U>
auto add(T t,U u) -> decltype(t+u)
{
	return t+u;
}

int main()
{
	int a=1;
	float b=2.0;

	auto c = add<decltype(a+b)>(a,b);

	cout << c << endl;
	return 0;
}
暂无评论
发表新评论