[C++11]返回值类型后置

Posted Wecccccccc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C++11]返回值类型后置相关的知识,希望对你有一定的参考价值。

在泛型编程中,可能需要通过参数的运算来得到返回值类型。

语法:

auto func(参数1,参数2,...)->decltype(参数表达式)

代码如下:

#include <iostream>
using namespace std;

//template<typename R,typename T,typename U>
//R add01(T t, U u)
//{
//	return t + u;
//}


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

int main()
{
	int x = 520;
	double y = 13.14;
	auto ret = add<int, double>(x, y);
	auto ret01 = add(x, y);
	cout << ret << endl;
	cout << ret01 << endl;
	return 0;
}

以上是关于[C++11]返回值类型后置的主要内容,如果未能解决你的问题,请参考以下文章

C++11新特性:5—— C++返回值类型后置(跟踪返回值类型)

2. 函数后置返回类型内联函数

2. 函数后置返回类型内联函数

2. 函数后置返回类型内联函数

函数新特性内联函数const详解

C++11新特性