C++11 引入了 返回类型后置(Trailing Return Type)语法,允许将函数的返回类型放在参数列表之后,使用 -> 符号指定。

(1) 依赖参数的类型推导(Decltype 结合)

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

// 调用
auto result = add(3, 4.5); // result 是 double

2) 简化复杂返回类型

(3) Lambda 表达式

Lambda 的返回类型默认可以自动推导,但如果需要显式指定,必须用后置语法:

auto lambda = [](int x) -> double {
    return x * 1.5;
};

auto 自动推导返回值

C++14 允许 auto 自动推导返回类型

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐