C++11 | 返回类型后置

返回类型后置 是什么

先看个熟悉的,这个就是返回类型前置

int Fun()
{
    return 0;
}

那么,我们把 int 放到后面是不是就是返回类型后置了呢

是的,就是这样,形如这样

auto Fun()->int
{
    return 0;
}

auto 是一个占位符,没什么实际意义

返回类型后置用来干嘛?

从直观上来说,看下面两种代码方式

// 方式1

typedef int(*arr)[2];


arr Fun1()
{
    return 0;
}

// 方式2

typedef int(*arr)[2];


auto Fun2()->int(*)[2]
{
    return 0;
}

是不是感觉方式2更容易看出返回值类型一些~~

 

那主要用途用在哪里,答案是模板方面

看一个栗子,请问 ?处该怎么写呢

C++11 | 返回类型后置_第1张图片

 这时候 返回类型后置 就派上用场啦

C++11 | 返回类型后置_第2张图片

完美解决

 

小结

 返回类型后置,主要解决了模板中函数返回值类型不确定的问题!

你可能感兴趣的:(C++11,c++,开发语言,后端)