尾置返回类型
C++11 引入了尾置返回类型(Trailing Return Type)的语法,用于简化复杂返回类型的定义,尤其是在模板和 decltype
的配合使用中更为实用。尾置返回类型是通过将返回类型放置在函数参数列表之后,以 ->
符号连接实现的。
尾置返回类型的语法
尾置返回类型的基本语法如下:
auto 函数名(参数列表) -> 返回类型 {
// 函数体
}
其中:
auto
表示返回类型占位符。-> 返回类型
明确指定了返回类型。- 函数的实际返回值仍然需要与
->
指定的类型一致。
使用场景
1. 简化复杂返回类型
当返回类型非常复杂(例如是一个函数指针)时,尾置返回类型可以使代码更为简洁和易读。
#include <iostream>
// 定义一个返回函数指针的函数
auto getFunctionPointer() -> int (*)(int, int) {
return [](int a, int b) -> int {
return a + b;
}