C++是如何确定泛型函数中以表达式作为return语句的返回值的类型的?

C++11为此提出了一个解决方案,那就是使用尾返回类型,具体形式如下图所示:

C++是如何确定泛型函数中以表达式作为return语句的返回值的类型的?_第1张图片

函数默认的返回类型是auto的,但是它只不过是个占位符而已,为那个真正的返回类型占个座罢了。然后这个真正的返回类型可以使用decltype来判断出来。如下图所示:


C++是如何确定泛型函数中以表达式作为return语句的返回值的类型的?_第2张图片

由此看得出来,这个->后的类型才是函数真正的返回类型啊。

你可能感兴趣的:(C++是如何确定泛型函数中以表达式作为return语句的返回值的类型的?)